/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sistemadecompras.interfaz;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import sistemadecompras.negocio.Ciudad;
import sistemadecompras.negocio.Ciudades;
import sistemadecompras.negocio.Cliente;
import sistemadecompras.negocio.Clientes;
import sistemadecompras.negocio.Compra;
import sistemadecompras.negocio.Compras;
import sistemadecompras.negocio.Direccion;
import sistemadecompras.negocio.Direcciones;
import sistemadecompras.negocio.Factura;
import sistemadecompras.negocio.Facturas;
import sistemadecompras.negocio.Producto;
import sistemadecompras.negocio.Productos;
import sistemadecompras.negocio.Proveedor;
import sistemadecompras.negocio.Proveedores;

import sistemadecompras.negocio.Usuario;

import sistemadecompras.negocio.Usuario;
import sistemadecompras.negocio.Usuarios;

/**
 *
 * @author May
 */
public final class Menu extends javax.swing.JFrame {

    Proveedor unProveedor = new Proveedor();
    Proveedores listaProveedores = new Proveedores();
    Cliente unCliente = new Cliente();
    Clientes listaClientes = new Clientes();
    Usuarios listaUsuarios = new Usuarios();
    Ciudad unaCiudad = new Ciudad();
    Ciudades listaCiudades = new Ciudades();
    Direccion unaDireccion = new Direccion();
    Direcciones listaDirecciones = new Direcciones();
    Factura unaFactura = new Factura();
    Facturas listaFacturas = new Facturas();
    Producto unProducto = new Producto();
    Productos listaProductos = new Productos();
    Usuario unUsuario = new Usuario();
    Compra unaCompra = new Compra();
    Compras listaCompras = new Compras();

    /**
     * Creates new form Menu
     */
    public Menu() {  //TRATEN DE PONER TODOS LOS LISTADOS O ACTUALIZACIONES PARA QUE SE MANTENGA ACTUALIZADO AQUI
        initComponents();
        actualizaCiudades();
        actualizaDirecciones();
        actualizaProductos();
        actualizaClientes();
        actualizaFacturas();
        actualizaProveedores();
        setDefaultCloseOperation(0);
        actualizarProductosR();
        actualizarGerentes();
        actualizaCompras();
    }

    public Menu(byte op) {// Y AQUI TAMBIEN :)
        initComponents();
        actualizaCiudades();
        actualizaDirecciones();
        actualizaProductos();
        actualizaClientes();
        actualizaFacturas();
        actualizaProveedores();
        setDefaultCloseOperation(0);
        configura(op);

    }

    public void configura(byte op) {
        if (op == 1) {//gerente
       /* tabModificar.remove(0);//ciudades   
             */
            tabModificar.setEnabledAt(0, false);//facturas
            tabModificar.setEnabledAt(1, false);//usuarios
            tabModificar.setEnabledAt(6, false);//facturas
            tabModificar.setEnabledAt(7, false);//usuarios

            PANEL_MANTENIMIENTO_PRODUCTOS.setVisible(false);
            PANEL_MANTENIMIENTO_PROVEEDOR.setVisible(false);
            PANEL_MANTENIMIENTO_CLIENTES.setVisible(false);

        } else if (op == 2) {//cajero
       /* tabModificar.remove(5);//recibe
             tabModificar.remove(7);//usuarios*/
            tabModificar.setEnabledAt(0, false);//ciudades
            tabModificar.setEnabledAt(1, false);//direcciones
            tabModificar.setEnabledAt(3, false);//proveedor
            tabModificar.setEnabledAt(7, false);//usuarios
            tabModificar.setEnabledAt(5, false);//recibe

            PANEL_MANTENIMIENTO_PRODUCTOS.setVisible(false);
            PANEL_MANTENIMIENTO_CLIENTES.setVisible(false);

        } else if (op == 3) {//admin
            //todo
            ///prueba
        } else if (op == 4) {//otro
            PANEL_MANTENIMIENTO_CLIENTES.setVisible(false);
            /*tabModificar.remove(8);//logueos
      
             */
            tabModificar.setEnabledAt(0, false);//ciudades
            tabModificar.setEnabledAt(1, false);//direcciones
            tabModificar.setEnabledAt(3, false);//proveedor
            tabModificar.setEnabledAt(5, false);//recibe
            tabModificar.setEnabledAt(6, false);//facturas
            tabModificar.setEnabledAt(7, false);//usuarios
            tabModificar.setEnabledAt(8, false);//logueos
            PANEL_MANTENIMIENTO_PRODUCTOS.setVisible(false);
        }
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        PopupMenu = new javax.swing.JPopupMenu();
        MenuFacturasXcliente = new javax.swing.JMenuItem();
        tabModificar = new javax.swing.JTabbedPane();
        jPanelciudad = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        tblCiudad = new javax.swing.JTable();
        PANEL_MANTENIMIENTO_CIUDADES = new javax.swing.JPanel();
        opcBusquedaC = new javax.swing.JRadioButton();
        btnEliminarCiudad = new javax.swing.JButton();
        btnModificaCiudad = new javax.swing.JButton();
        btnBuscarCiudad = new javax.swing.JButton();
        btnGrabaCiudad = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        txtCodigoCiudad = new javax.swing.JTextField();
        txtCiudad = new javax.swing.JTextField();
        jPaneldirecccion = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        tblDireccion = new javax.swing.JTable();
        lblMensaje2 = new javax.swing.JLabel();
        PANEL_MANTENIMIENTO_DIRECCIONES = new javax.swing.JPanel();
        btnActivar = new javax.swing.JRadioButton();
        btnEliminarDireccion = new javax.swing.JButton();
        btnModificaDireccion = new javax.swing.JButton();
        btnBuscarDireccion = new javax.swing.JButton();
        btnGrabaDireccion = new javax.swing.JButton();
        jLabel11 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        txtIdDireccion = new javax.swing.JTextField();
        txtCalle = new javax.swing.JTextField();
        txtNumero = new javax.swing.JTextField();
        combociudades = new javax.swing.JComboBox();
        TXT_ID_CIUDA = new javax.swing.JTextField();
        jPanelcli = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        tblCliente = new javax.swing.JTable();
        jButton2 = new javax.swing.JButton();
        PANEL_MANTENIMIENTO_CLIENTES = new javax.swing.JPanel();
        btnEliminarCliente = new javax.swing.JButton();
        btnModificaCliente = new javax.swing.JButton();
        btnBuscarCliente = new javax.swing.JButton();
        btnGrabaCliente = new javax.swing.JButton();
        txtCedula = new javax.swing.JTextField();
        txtNombre = new javax.swing.JTextField();
        txtApellido = new javax.swing.JTextField();
        txtTelefono = new javax.swing.JTextField();
        jLabel16 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        txtDirecCliente = new javax.swing.JTextField();
        jLabel18 = new javax.swing.JLabel();
        combodirecciones = new javax.swing.JComboBox();
        jLabel6 = new javax.swing.JLabel();
        txtCiudadCliente = new javax.swing.JTextField();
        cmbCiudadC = new javax.swing.JComboBox();
        btnnuevadireccion = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jPanelProveedor = new javax.swing.JPanel();
        jScrollPane7 = new javax.swing.JScrollPane();
        tblProveedor = new javax.swing.JTable();
        PANEL_MANTENIMIENTO_PROVEEDOR = new javax.swing.JPanel();
        txtCodigoProveedor = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        txtProveedor = new javax.swing.JTextField();
        btnGrabaProveedor = new javax.swing.JButton();
        btnBuscarProveedor = new javax.swing.JButton();
        btnModificaProveedor = new javax.swing.JButton();
        btnEliminarProveedor = new javax.swing.JButton();
        opcBusquedaProveedor = new javax.swing.JRadioButton();
        jPanelprod = new javax.swing.JPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        tblProductos = new javax.swing.JTable();
        btnListarProductos = new javax.swing.JButton();
        PANEL_MANTENIMIENTO_PRODUCTOS = new javax.swing.JPanel();
        comboproveedores = new javax.swing.JComboBox();
        opcBusquedaProducto = new javax.swing.JRadioButton();
        btnEliminarProducto = new javax.swing.JButton();
        txtProveedordeProducto = new javax.swing.JTextField();
        txtPrecio = new javax.swing.JTextField();
        jLabel22 = new javax.swing.JLabel();
        jLabel30 = new javax.swing.JLabel();
        btnModificaProducto = new javax.swing.JButton();
        btnBuscarProducto = new javax.swing.JButton();
        txtCantidad = new javax.swing.JTextField();
        txtProducto = new javax.swing.JTextField();
        txtcodProducto = new javax.swing.JTextField();
        jLabel19 = new javax.swing.JLabel();
        jLabel20 = new javax.swing.JLabel();
        jLabel21 = new javax.swing.JLabel();
        btnGrabaProductos = new javax.swing.JButton();
        jPanelRecibe = new javax.swing.JPanel();
        txtJ2 = new javax.swing.JTextField();
        txtCantidadrecibe = new javax.swing.JTextField();
        jLabel27 = new javax.swing.JLabel();
        jLabel28 = new javax.swing.JLabel();
        jLabel29 = new javax.swing.JLabel();
        txtJ1 = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        compraS = new javax.swing.JTable();
        jButton5 = new javax.swing.JButton();
        cmbProductos = new javax.swing.JComboBox();
        cmbGerentes = new javax.swing.JComboBox();
        jPanelFacturas = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        tblFacturas = new javax.swing.JTable();
        PANEL_MANTENIMIENTO_FACTURAS = new javax.swing.JPanel();
        jLabel25 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jLabel23 = new javax.swing.JLabel();
        txtIdClienteF = new javax.swing.JTextField();
        txtFecha = new javax.swing.JTextField();
        txtnumFactura = new javax.swing.JTextField();
        btnGrabaClientes = new javax.swing.JButton();
        btnBuscarClientes = new javax.swing.JButton();
        btnModificaClientes = new javax.swing.JButton();
        btnEliminarClientes = new javax.swing.JButton();
        bntActivarF = new javax.swing.JRadioButton();
        jButton1 = new javax.swing.JButton();
        txtGerenteF = new javax.swing.JTextField();
        jLabel36 = new javax.swing.JLabel();
        jPanelUsuarios = new javax.swing.JPanel();
        jScrollPane8 = new javax.swing.JScrollPane();
        tblUsuario = new javax.swing.JTable();
        PANEL_MANTENIMIENTO_USERS = new javax.swing.JPanel();
        btnEliminarUsuario = new javax.swing.JButton();
        txtpasswordUsuario = new javax.swing.JPasswordField();
        comboUsuario = new javax.swing.JComboBox();
        txtApellidoUsuario = new javax.swing.JTextField();
        txtNombreUsuario = new javax.swing.JTextField();
        txtCedUsuario = new javax.swing.JTextField();
        txtusername = new javax.swing.JTextField();
        btnGrabaUsuario = new javax.swing.JButton();
        btnBuscarUsuario = new javax.swing.JButton();
        btnModificaUsuario = new javax.swing.JButton();
        jLabel35 = new javax.swing.JLabel();
        jLabel34 = new javax.swing.JLabel();
        jLabel33 = new javax.swing.JLabel();
        jLabel32 = new javax.swing.JLabel();
        jLabel31 = new javax.swing.JLabel();
        jPanelLogueos = new javax.swing.JPanel();
        jScrollPane9 = new javax.swing.JScrollPane();
        TABLALOGUEOS = new javax.swing.JTable();
        jPanel1 = new javax.swing.JPanel();
        botonCambioUsuario = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();

        MenuFacturasXcliente.setText("IR A FACTURAS DEL CLIENTE:");
        MenuFacturasXcliente.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                MenuFacturasXclienteMouseReleased(evt);
            }
        });
        MenuFacturasXcliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuFacturasXclienteActionPerformed(evt);
            }
        });
        PopupMenu.add(MenuFacturasXcliente);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        tabModificar.setTabPlacement(javax.swing.JTabbedPane.LEFT);
        tabModificar.setToolTipText("");

        tblCiudad.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Codigo", "Ciudad"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblCiudad.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblCiudadMouseClicked(evt);
            }
        });
        jScrollPane2.setViewportView(tblCiudad);

        opcBusquedaC.setText("Habilitar Busqueda");
        opcBusquedaC.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                opcBusquedaCMouseClicked(evt);
            }
        });
        opcBusquedaC.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcBusquedaCActionPerformed(evt);
            }
        });

        btnEliminarCiudad.setText("Eliminar");
        btnEliminarCiudad.setEnabled(false);
        btnEliminarCiudad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarCiudadActionPerformed(evt);
            }
        });

        btnModificaCiudad.setText("Modificar");
        btnModificaCiudad.setEnabled(false);
        btnModificaCiudad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaCiudadActionPerformed(evt);
            }
        });

        btnBuscarCiudad.setText("Buscar");
        btnBuscarCiudad.setEnabled(false);
        btnBuscarCiudad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarCiudadActionPerformed(evt);
            }
        });

        btnGrabaCiudad.setText("Grabar");
        btnGrabaCiudad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaCiudadActionPerformed(evt);
            }
        });

        jLabel2.setText("Ciudad:");

        jLabel1.setText("Codigo:");

        txtCodigoCiudad.setEnabled(false);
        txtCodigoCiudad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCodigoCiudadActionPerformed(evt);
            }
        });
        txtCodigoCiudad.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtCodigoCiudadKeyTyped(evt);
            }
        });

        txtCiudad.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCiudadKeyPressed(evt);
            }
        });

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_CIUDADESLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_CIUDADES);
        PANEL_MANTENIMIENTO_CIUDADES.setLayout(PANEL_MANTENIMIENTO_CIUDADESLayout);
        PANEL_MANTENIMIENTO_CIUDADESLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_CIUDADESLayout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addGap(18, 18, 18))
                    .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(18, 18, 18)))
                .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(txtCiudad, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE)
                    .addComponent(txtCodigoCiudad)))
            .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createSequentialGroup()
                .addComponent(btnGrabaCiudad)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnBuscarCiudad)
                .addGap(18, 18, 18)
                .addComponent(btnModificaCiudad)
                .addGap(18, 18, 18)
                .addComponent(btnEliminarCiudad)
                .addGap(18, 18, 18)
                .addComponent(opcBusquedaC))
        );
        PANEL_MANTENIMIENTO_CIUDADESLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel1)
                    .addComponent(txtCodigoCiudad, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(txtCiudad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addGap(18, 18, 18)
                .addGroup(PANEL_MANTENIMIENTO_CIUDADESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnGrabaCiudad)
                    .addComponent(btnBuscarCiudad)
                    .addComponent(btnModificaCiudad)
                    .addComponent(btnEliminarCiudad)
                    .addComponent(opcBusquedaC))
                .addContainerGap(15, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanelciudadLayout = new javax.swing.GroupLayout(jPanelciudad);
        jPanelciudad.setLayout(jPanelciudadLayout);
        jPanelciudadLayout.setHorizontalGroup(
            jPanelciudadLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelciudadLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelciudadLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PANEL_MANTENIMIENTO_CIUDADES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(162, Short.MAX_VALUE))
        );
        jPanelciudadLayout.setVerticalGroup(
            jPanelciudadLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelciudadLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PANEL_MANTENIMIENTO_CIUDADES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 293, Short.MAX_VALUE)
                .addContainerGap())
        );

        tabModificar.addTab("Ciudades", jPanelciudad);

        tblDireccion.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Codigo", "Calle", "Numero", "Ciudad"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true, true, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblDireccion.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblDireccionMouseClicked(evt);
            }
        });
        tblDireccion.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                tblDireccionKeyPressed(evt);
            }
        });
        jScrollPane3.setViewportView(tblDireccion);

        lblMensaje2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

        btnActivar.setText("Activar");
        btnActivar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnActivarActionPerformed(evt);
            }
        });

        btnEliminarDireccion.setText("Eliminar");
        btnEliminarDireccion.setEnabled(false);
        btnEliminarDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarDireccionActionPerformed(evt);
            }
        });

        btnModificaDireccion.setText("Modificar");
        btnModificaDireccion.setEnabled(false);
        btnModificaDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaDireccionActionPerformed(evt);
            }
        });

        btnBuscarDireccion.setText("Buscar");
        btnBuscarDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarDireccionActionPerformed(evt);
            }
        });

        btnGrabaDireccion.setText("Grabar");
        btnGrabaDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaDireccionActionPerformed(evt);
            }
        });

        jLabel11.setText("Ciudad");

        jLabel9.setText("Numero:");

        jLabel3.setText("Calle:");

        jLabel8.setText("Id");

        txtIdDireccion.setEnabled(false);
        txtIdDireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtIdDireccionActionPerformed(evt);
            }
        });

        txtCalle.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCalleActionPerformed(evt);
            }
        });
        txtCalle.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCalleKeyPressed(evt);
            }
        });

        txtNumero.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtNumeroActionPerformed(evt);
            }
        });
        txtNumero.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtNumeroKeyPressed(evt);
            }
        });

        combociudades.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Ciudades" }));
        combociudades.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                combociudadesMouseClicked(evt);
            }
        });
        combociudades.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                combociudadesActionPerformed(evt);
            }
        });

        TXT_ID_CIUDA.setEditable(false);
        TXT_ID_CIUDA.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                TXT_ID_CIUDAActionPerformed(evt);
            }
        });
        TXT_ID_CIUDA.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                TXT_ID_CIUDAKeyPressed(evt);
            }
        });

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_DIRECCIONESLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_DIRECCIONES);
        PANEL_MANTENIMIENTO_DIRECCIONES.setLayout(PANEL_MANTENIMIENTO_DIRECCIONESLayout);
        PANEL_MANTENIMIENTO_DIRECCIONESLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel8))
                        .addGap(32, 32, 32))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel9)
                            .addComponent(jLabel11))
                        .addGap(18, 18, 18)))
                .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtCalle)
                    .addComponent(txtNumero)
                    .addComponent(txtIdDireccion, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(combociudades, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                .addComponent(btnGrabaDireccion)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                        .addComponent(btnBuscarDireccion)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnModificaDireccion)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnEliminarDireccion)
                        .addGap(18, 18, 18)
                        .addComponent(btnActivar))
                    .addComponent(TXT_ID_CIUDA, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(0, 90, Short.MAX_VALUE))
        );
        PANEL_MANTENIMIENTO_DIRECCIONESLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtIdDireccion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel8))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtCalle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3))
                        .addGap(6, 6, 6)
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtNumero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel9))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel11)
                            .addComponent(combociudades, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(TXT_ID_CIUDA, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 11, Short.MAX_VALUE)
                        .addGroup(PANEL_MANTENIMIENTO_DIRECCIONESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnGrabaDireccion)
                            .addComponent(btnBuscarDireccion)
                            .addComponent(btnModificaDireccion)
                            .addComponent(btnEliminarDireccion)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_DIRECCIONESLayout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(btnActivar)))
                .addContainerGap())
        );

        javax.swing.GroupLayout jPaneldirecccionLayout = new javax.swing.GroupLayout(jPaneldirecccion);
        jPaneldirecccion.setLayout(jPaneldirecccionLayout);
        jPaneldirecccionLayout.setHorizontalGroup(
            jPaneldirecccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPaneldirecccionLayout.createSequentialGroup()
                .addGroup(jPaneldirecccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPaneldirecccionLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 471, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPaneldirecccionLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(PANEL_MANTENIMIENTO_DIRECCIONES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(44, 44, 44)
                .addComponent(lblMensaje2, javax.swing.GroupLayout.PREFERRED_SIZE, 344, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPaneldirecccionLayout.setVerticalGroup(
            jPaneldirecccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPaneldirecccionLayout.createSequentialGroup()
                .addGroup(jPaneldirecccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPaneldirecccionLayout.createSequentialGroup()
                        .addGap(120, 120, 120)
                        .addComponent(lblMensaje2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPaneldirecccionLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(PANEL_MANTENIMIENTO_DIRECCIONES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 252, Short.MAX_VALUE)
                .addContainerGap())
        );

        tabModificar.addTab("Direcciones", jPaneldirecccion);

        tblCliente.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Cedula", "Nombre", "Apellido", "Telefono", "Direccion", "# Compras", "Ciudad"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblCliente.setComponentPopupMenu(PopupMenu);
        tblCliente.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblClienteMouseClicked(evt);
            }
        });
        jScrollPane4.setViewportView(tblCliente);

        jButton2.setText("Estadisticas Clientes");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        btnEliminarCliente.setText("Eliminar");
        btnEliminarCliente.setEnabled(false);
        btnEliminarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarClienteActionPerformed(evt);
            }
        });

        btnModificaCliente.setText("Modificar");
        btnModificaCliente.setEnabled(false);
        btnModificaCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaClienteActionPerformed(evt);
            }
        });

        btnBuscarCliente.setText("Buscar");
        btnBuscarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarClienteActionPerformed(evt);
            }
        });

        btnGrabaCliente.setText("Grabar");
        btnGrabaCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaClienteActionPerformed(evt);
            }
        });

        txtCedula.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCedulaActionPerformed(evt);
            }
        });
        txtCedula.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCedulaKeyPressed(evt);
            }
        });

        txtNombre.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtNombreKeyPressed(evt);
            }
        });

        txtApellido.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtApellidoKeyPressed(evt);
            }
        });

        txtTelefono.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtTelefonoKeyPressed(evt);
            }
        });

        jLabel16.setText("Telefono:");

        jLabel15.setText("Apellido:");

        jLabel14.setText("Nombre:");

        jLabel13.setText("Cedula:");

        txtDirecCliente.setEditable(false);

        jLabel18.setText("Id Direccion:");

        combodirecciones.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Direcciones" }));
        combodirecciones.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                combodireccionesMouseClicked(evt);
            }
        });

        jLabel6.setText("Id Ciudad:");

        txtCiudadCliente.setEditable(false);

        cmbCiudadC.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbCiudadC.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cmbCiudadCMouseClicked(evt);
            }
        });

        btnnuevadireccion.setText("Nueva Direccion");
        btnnuevadireccion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnnuevadireccionActionPerformed(evt);
            }
        });

        jButton4.setText("Actualizar");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_CLIENTESLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_CLIENTES);
        PANEL_MANTENIMIENTO_CLIENTES.setLayout(PANEL_MANTENIMIENTO_CLIENTESLayout);
        PANEL_MANTENIMIENTO_CLIENTESLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                                .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel15, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel16, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(4, 4, 4))
                            .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtApellido, javax.swing.GroupLayout.DEFAULT_SIZE, 216, Short.MAX_VALUE)
                            .addComponent(txtCedula)
                            .addComponent(txtNombre)
                            .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                                .addComponent(txtCiudadCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addComponent(txtTelefono)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                        .addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtDirecCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(cmbCiudadC, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(combodirecciones, 0, 107, Short.MAX_VALUE))))
                .addGap(66, 66, 66)
                .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(btnBuscarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnModificaCliente, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnEliminarCliente, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnnuevadireccion, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnGrabaCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        PANEL_MANTENIMIENTO_CLIENTESLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                        .addComponent(btnGrabaCliente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnBuscarCliente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnModificaCliente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnEliminarCliente)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnnuevadireccion)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton4)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtCedula, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel13))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel14))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtApellido, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel15))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtTelefono, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel16))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(txtCiudadCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(cmbCiudadC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PANEL_MANTENIMIENTO_CLIENTESLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel18)
                            .addComponent(txtDirecCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(combodirecciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 0, Short.MAX_VALUE))))
        );

        javax.swing.GroupLayout jPanelcliLayout = new javax.swing.GroupLayout(jPanelcli);
        jPanelcli.setLayout(jPanelcliLayout);
        jPanelcliLayout.setHorizontalGroup(
            jPanelcliLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelcliLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelcliLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane4)
                    .addGroup(jPanelcliLayout.createSequentialGroup()
                        .addGroup(jPanelcliLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(PANEL_MANTENIMIENTO_CLIENTES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jButton2))
                        .addGap(0, 116, Short.MAX_VALUE)))
                .addContainerGap())
        );
        jPanelcliLayout.setVerticalGroup(
            jPanelcliLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelcliLayout.createSequentialGroup()
                .addGap(5, 5, 5)
                .addComponent(PANEL_MANTENIMIENTO_CLIENTES, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        tabModificar.addTab("Clientes", jPanelcli);

        tblProveedor.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Codigo", "Proveedor"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblProveedor.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblProveedorMouseClicked(evt);
            }
        });
        jScrollPane7.setViewportView(tblProveedor);

        txtCodigoProveedor.setEnabled(false);
        txtCodigoProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCodigoProveedorActionPerformed(evt);
            }
        });
        txtCodigoProveedor.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtCodigoProveedorKeyTyped(evt);
            }
        });

        jLabel4.setText("Codigo:");

        jLabel5.setText("Proveedor:");

        txtProveedor.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtProveedorKeyPressed(evt);
            }
        });

        btnGrabaProveedor.setText("Grabar");
        btnGrabaProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaProveedorActionPerformed(evt);
            }
        });

        btnBuscarProveedor.setText("Buscar");
        btnBuscarProveedor.setEnabled(false);
        btnBuscarProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarProveedorActionPerformed(evt);
            }
        });

        btnModificaProveedor.setText("Modificar");
        btnModificaProveedor.setEnabled(false);
        btnModificaProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaProveedorActionPerformed(evt);
            }
        });

        btnEliminarProveedor.setText("Eliminar");
        btnEliminarProveedor.setEnabled(false);
        btnEliminarProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarProveedorActionPerformed(evt);
            }
        });

        opcBusquedaProveedor.setText("Habilitar Busqueda");
        opcBusquedaProveedor.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                opcBusquedaProveedorMouseClicked(evt);
            }
        });
        opcBusquedaProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcBusquedaProveedorActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_PROVEEDORLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_PROVEEDOR);
        PANEL_MANTENIMIENTO_PROVEEDOR.setLayout(PANEL_MANTENIMIENTO_PROVEEDORLayout);
        PANEL_MANTENIMIENTO_PROVEEDORLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createSequentialGroup()
                .addGap(2, 2, 2)
                .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createSequentialGroup()
                        .addComponent(btnGrabaProveedor)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnBuscarProveedor)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnModificaProveedor)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnEliminarProveedor)
                        .addGap(18, 18, 18)
                        .addComponent(opcBusquedaProveedor))
                    .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel5)
                            .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING))
                        .addGap(14, 14, 14)
                        .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtCodigoProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(130, 130, 130)))
                .addGap(0, 0, Short.MAX_VALUE))
        );
        PANEL_MANTENIMIENTO_PROVEEDORLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtCodigoProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5))
                .addGap(18, 18, 18)
                .addGroup(PANEL_MANTENIMIENTO_PROVEEDORLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnGrabaProveedor)
                    .addComponent(btnBuscarProveedor)
                    .addComponent(btnModificaProveedor)
                    .addComponent(btnEliminarProveedor)
                    .addComponent(opcBusquedaProveedor))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanelProveedorLayout = new javax.swing.GroupLayout(jPanelProveedor);
        jPanelProveedor.setLayout(jPanelProveedorLayout);
        jPanelProveedorLayout.setHorizontalGroup(
            jPanelProveedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelProveedorLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelProveedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(PANEL_MANTENIMIENTO_PROVEEDOR, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 464, Short.MAX_VALUE))
                .addContainerGap(151, Short.MAX_VALUE))
        );
        jPanelProveedorLayout.setVerticalGroup(
            jPanelProveedorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelProveedorLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PANEL_MANTENIMIENTO_PROVEEDOR, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 309, Short.MAX_VALUE)
                .addContainerGap())
        );

        tabModificar.addTab("Proveedor", jPanelProveedor);

        tblProductos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Codigo", "Producto", "Cantidad", "Precio Venta(10% mas del precio compra del txt)", "Proveedor "
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true, true, true, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblProductos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblProductosMouseClicked(evt);
            }
        });
        jScrollPane5.setViewportView(tblProductos);

        btnListarProductos.setText("Listar");
        btnListarProductos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnListarProductosMouseClicked(evt);
            }
        });
        btnListarProductos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnListarProductosActionPerformed(evt);
            }
        });

        comboproveedores.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Proveedores", "Item 2", "Item 3", "Item 4" }));
        comboproveedores.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                comboproveedoresMouseClicked(evt);
            }
        });

        opcBusquedaProducto.setText("Habilitar Busqueda");
        opcBusquedaProducto.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                opcBusquedaProductoMouseClicked(evt);
            }
        });
        opcBusquedaProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcBusquedaProductoActionPerformed(evt);
            }
        });

        btnEliminarProducto.setText("Eliminar");
        btnEliminarProducto.setEnabled(false);
        btnEliminarProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarProductoActionPerformed(evt);
            }
        });

        txtProveedordeProducto.setEnabled(false);
        txtProveedordeProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtProveedordeProductoActionPerformed(evt);
            }
        });
        txtProveedordeProducto.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtProveedordeProductoKeyPressed(evt);
            }
        });

        txtPrecio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtPrecioActionPerformed(evt);
            }
        });
        txtPrecio.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtPrecioKeyPressed(evt);
            }
        });

        jLabel22.setText("Precio:");

        jLabel30.setText("id_proveedor:");

        btnModificaProducto.setText("Modificar");
        btnModificaProducto.setEnabled(false);
        btnModificaProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaProductoActionPerformed(evt);
            }
        });

        btnBuscarProducto.setText("Buscar");
        btnBuscarProducto.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnBuscarProductoMouseClicked(evt);
            }
        });
        btnBuscarProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarProductoActionPerformed(evt);
            }
        });

        txtCantidad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCantidadActionPerformed(evt);
            }
        });
        txtCantidad.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCantidadKeyPressed(evt);
            }
        });

        txtProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtProductoActionPerformed(evt);
            }
        });
        txtProducto.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtProductoKeyPressed(evt);
            }
        });

        txtcodProducto.setEnabled(false);
        txtcodProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtcodProductoActionPerformed(evt);
            }
        });

        jLabel19.setText("Codigo:");

        jLabel20.setText("Producto:");

        jLabel21.setText("Cantidad:");

        btnGrabaProductos.setText("Grabar");
        btnGrabaProductos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaProductosActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_PRODUCTOSLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_PRODUCTOS);
        PANEL_MANTENIMIENTO_PRODUCTOS.setLayout(PANEL_MANTENIMIENTO_PRODUCTOSLayout);
        PANEL_MANTENIMIENTO_PRODUCTOSLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                                .addComponent(btnGrabaProductos)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnBuscarProducto)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(btnModificaProducto, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnEliminarProducto, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(opcBusquedaProducto))
                            .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                                .addComponent(jLabel30)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtProveedordeProducto, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                        .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(comboproveedores, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                                .addGap(12, 12, 12)
                                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(jLabel21)
                                        .addComponent(jLabel20))
                                    .addComponent(jLabel19))
                                .addGap(18, 18, 18)
                                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(txtcodProducto, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE)
                                    .addComponent(txtProducto)
                                    .addComponent(txtCantidad))))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel22)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtPrecio, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        PANEL_MANTENIMIENTO_PRODUCTOSLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PANEL_MANTENIMIENTO_PRODUCTOSLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtcodProducto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtPrecio, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel22)
                    .addComponent(jLabel19))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, Short.MAX_VALUE)
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtProducto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel20))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtCantidad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel21))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtProveedordeProducto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel30)
                    .addComponent(comboproveedores, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32)
                .addGroup(PANEL_MANTENIMIENTO_PRODUCTOSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnEliminarProducto)
                    .addComponent(btnGrabaProductos)
                    .addComponent(btnBuscarProducto)
                    .addComponent(btnModificaProducto)
                    .addComponent(opcBusquedaProducto))
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanelprodLayout = new javax.swing.GroupLayout(jPanelprod);
        jPanelprod.setLayout(jPanelprodLayout);
        jPanelprodLayout.setHorizontalGroup(
            jPanelprodLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelprodLayout.createSequentialGroup()
                .addGroup(jPanelprodLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelprodLayout.createSequentialGroup()
                        .addComponent(PANEL_MANTENIMIENTO_PRODUCTOS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btnListarProductos))
                    .addGroup(jPanelprodLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 502, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(113, Short.MAX_VALUE))
        );
        jPanelprodLayout.setVerticalGroup(
            jPanelprodLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelprodLayout.createSequentialGroup()
                .addGroup(jPanelprodLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PANEL_MANTENIMIENTO_PRODUCTOS, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanelprodLayout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(btnListarProductos)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        tabModificar.addTab("Productos", jPanelprod);

        txtJ2.setEditable(false);
        txtJ2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtJ2ActionPerformed(evt);
            }
        });
        txtJ2.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtJ2KeyPressed(evt);
            }
        });

        txtCantidadrecibe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtCantidadrecibeActionPerformed(evt);
            }
        });
        txtCantidadrecibe.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCantidadrecibeKeyPressed(evt);
            }
        });

        jLabel27.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel27.setText("Cantidad:");

        jLabel28.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel28.setText("Usuario Gerente:");

        jLabel29.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel29.setText("Producto:");

        txtJ1.setEditable(false);

        compraS.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Id de Producto", "Id de Usuario", "Cantidad", "Fecha"
            }
        ));
        jScrollPane1.setViewportView(compraS);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 404, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE)
                .addContainerGap())
        );

        jButton5.setText("Registrar Compra");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        cmbProductos.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbProductos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                cmbProductosMouseClicked(evt);
            }
        });

        cmbGerentes.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbGerentes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                cmbGerentesMousePressed(evt);
            }
        });

        javax.swing.GroupLayout jPanelRecibeLayout = new javax.swing.GroupLayout(jPanelRecibe);
        jPanelRecibe.setLayout(jPanelRecibeLayout);
        jPanelRecibeLayout.setHorizontalGroup(
            jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelRecibeLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanelRecibeLayout.createSequentialGroup()
                        .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanelRecibeLayout.createSequentialGroup()
                                .addComponent(jLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtCantidadrecibe, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanelRecibeLayout.createSequentialGroup()
                                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jLabel28, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel29, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addGap(10, 10, 10)
                                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(txtJ2, javax.swing.GroupLayout.DEFAULT_SIZE, 74, Short.MAX_VALUE)
                                    .addComponent(txtJ1))))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(cmbProductos, 0, 80, Short.MAX_VALUE)
                            .addComponent(cmbGerentes, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(37, 37, 37)
                        .addComponent(jButton5)))
                .addContainerGap(191, Short.MAX_VALUE))
        );
        jPanelRecibeLayout.setVerticalGroup(
            jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelRecibeLayout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel29)
                    .addComponent(txtJ1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton5)
                    .addComponent(cmbProductos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel28)
                    .addComponent(txtJ2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(cmbGerentes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelRecibeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel27)
                    .addComponent(txtCantidadrecibe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(26, 26, 26))
        );

        tabModificar.addTab("Registro de Productos", jPanelRecibe);

        tblFacturas.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Numero Factura", "Fecha", "Cliente", "Total Pagar", "Id_cajero"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblFacturas.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblFacturasMouseClicked(evt);
            }
        });
        jScrollPane6.setViewportView(tblFacturas);

        jLabel25.setText("Numero");

        jLabel24.setText("Fecha");

        jLabel23.setText("Cliente");

        txtIdClienteF.setFocusTraversalPolicyProvider(true);
        txtIdClienteF.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtIdClienteFActionPerformed(evt);
            }
        });
        txtIdClienteF.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtIdClienteFKeyPressed(evt);
            }
        });

        txtFecha.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtFechaActionPerformed(evt);
            }
        });
        txtFecha.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtFechaKeyPressed(evt);
            }
        });

        txtnumFactura.setEnabled(false);
        txtnumFactura.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtnumFacturaActionPerformed(evt);
            }
        });

        btnGrabaClientes.setText("Grabar");
        btnGrabaClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaClientesActionPerformed(evt);
            }
        });

        btnBuscarClientes.setText("Buscar");
        btnBuscarClientes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnBuscarClientesMouseClicked(evt);
            }
        });
        btnBuscarClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarClientesActionPerformed(evt);
            }
        });

        btnModificaClientes.setText("Modificar");
        btnModificaClientes.setEnabled(false);
        btnModificaClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaClientesActionPerformed(evt);
            }
        });

        btnEliminarClientes.setText("Eliminar");
        btnEliminarClientes.setEnabled(false);
        btnEliminarClientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarClientesActionPerformed(evt);
            }
        });

        bntActivarF.setText("Activar");
        bntActivarF.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bntActivarFActionPerformed(evt);
            }
        });

        jButton1.setText("Ventas");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        txtGerenteF.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtGerenteFActionPerformed(evt);
            }
        });
        txtGerenteF.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtGerenteFKeyPressed(evt);
            }
        });

        jLabel36.setText("Cedula Cajero");

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_FACTURASLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_FACTURAS);
        PANEL_MANTENIMIENTO_FACTURAS.setLayout(PANEL_MANTENIMIENTO_FACTURASLayout);
        PANEL_MANTENIMIENTO_FACTURASLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel23)
                    .addComponent(jLabel25)
                    .addComponent(jLabel24))
                .addGap(18, 18, 18)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtnumFactura, javax.swing.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE)
                    .addComponent(txtFecha)
                    .addComponent(txtIdClienteF))
                .addGap(24, 24, 24)
                .addComponent(jLabel36, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(txtGerenteF, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
            .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createSequentialGroup()
                .addComponent(btnGrabaClientes)
                .addGap(14, 14, 14)
                .addComponent(btnBuscarClientes)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnModificaClientes)
                .addGap(14, 14, 14)
                .addComponent(btnEliminarClientes)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(bntActivarF))
                .addGap(0, 21, Short.MAX_VALUE))
        );
        PANEL_MANTENIMIENTO_FACTURASLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel25)
                    .addComponent(txtnumFactura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtGerenteF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel36))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel24)
                    .addComponent(txtFecha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel23)
                    .addComponent(txtIdClienteF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 11, Short.MAX_VALUE)
                .addGroup(PANEL_MANTENIMIENTO_FACTURASLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnGrabaClientes)
                    .addComponent(btnBuscarClientes)
                    .addComponent(btnModificaClientes)
                    .addComponent(btnEliminarClientes)
                    .addComponent(bntActivarF))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton1)
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanelFacturasLayout = new javax.swing.GroupLayout(jPanelFacturas);
        jPanelFacturas.setLayout(jPanelFacturasLayout);
        jPanelFacturasLayout.setHorizontalGroup(
            jPanelFacturasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelFacturasLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelFacturasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(PANEL_MANTENIMIENTO_FACTURAS, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                .addContainerGap(190, Short.MAX_VALUE))
        );
        jPanelFacturasLayout.setVerticalGroup(
            jPanelFacturasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelFacturasLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PANEL_MANTENIMIENTO_FACTURAS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(57, Short.MAX_VALUE))
        );

        tabModificar.addTab("Facturas", jPanelFacturas);

        tblUsuario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Cedula", "Nombre", "Apellido", "Num_logeos", "User Name"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true, true, true, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblUsuario.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblUsuarioMouseClicked(evt);
            }
        });
        jScrollPane8.setViewportView(tblUsuario);

        btnEliminarUsuario.setText("Eliminar");
        btnEliminarUsuario.setEnabled(false);
        btnEliminarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarUsuarioActionPerformed(evt);
            }
        });

        comboUsuario.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Gerente", "Cajero", "Administrador" }));
        comboUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                comboUsuarioActionPerformed(evt);
            }
        });

        txtApellidoUsuario.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtApellidoUsuarioKeyPressed(evt);
            }
        });

        txtNombreUsuario.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtNombreUsuarioKeyPressed(evt);
            }
        });

        txtCedUsuario.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtCedUsuarioKeyPressed(evt);
            }
        });

        txtusername.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtusernameKeyPressed(evt);
            }
        });

        btnGrabaUsuario.setText("Grabar");
        btnGrabaUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabaUsuarioActionPerformed(evt);
            }
        });

        btnBuscarUsuario.setText("Buscar");
        btnBuscarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBuscarUsuarioActionPerformed(evt);
            }
        });

        btnModificaUsuario.setText("Modificar");
        btnModificaUsuario.setEnabled(false);
        btnModificaUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificaUsuarioActionPerformed(evt);
            }
        });

        jLabel35.setText("Pass");

        jLabel34.setText("User Name:");

        jLabel33.setText("Apellido:");

        jLabel32.setText("Nombre:");

        jLabel31.setText("Cedula:");

        javax.swing.GroupLayout PANEL_MANTENIMIENTO_USERSLayout = new javax.swing.GroupLayout(PANEL_MANTENIMIENTO_USERS);
        PANEL_MANTENIMIENTO_USERS.setLayout(PANEL_MANTENIMIENTO_USERSLayout);
        PANEL_MANTENIMIENTO_USERSLayout.setHorizontalGroup(
            PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 0, Short.MAX_VALUE)
            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jLabel32, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel33, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel34, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel31, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel35, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(4, 4, 4)
                    .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(txtCedUsuario)
                        .addComponent(txtNombreUsuario)
                        .addComponent(txtApellidoUsuario)
                        .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createSequentialGroup()
                            .addComponent(txtusername, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(comboUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(txtpasswordUsuario))
                    .addGap(61, 61, 61)
                    .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(btnGrabaUsuario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(btnBuscarUsuario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(btnModificaUsuario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(btnEliminarUsuario, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap()))
        );
        PANEL_MANTENIMIENTO_USERSLayout.setVerticalGroup(
            PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 170, Short.MAX_VALUE)
            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createSequentialGroup()
                    .addGap(23, 23, 23)
                    .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createSequentialGroup()
                            .addComponent(btnGrabaUsuario)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnBuscarUsuario)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnModificaUsuario)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnEliminarUsuario))
                        .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createSequentialGroup()
                            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtCedUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel31))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtNombreUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel32))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtApellidoUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel33))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtusername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel34)
                                .addComponent(comboUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(PANEL_MANTENIMIENTO_USERSLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtpasswordUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel35))))
                    .addContainerGap(23, Short.MAX_VALUE)))
        );

        javax.swing.GroupLayout jPanelUsuariosLayout = new javax.swing.GroupLayout(jPanelUsuarios);
        jPanelUsuarios.setLayout(jPanelUsuariosLayout);
        jPanelUsuariosLayout.setHorizontalGroup(
            jPanelUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelUsuariosLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(PANEL_MANTENIMIENTO_USERS, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 540, Short.MAX_VALUE))
                .addContainerGap(75, Short.MAX_VALUE))
        );
        jPanelUsuariosLayout.setVerticalGroup(
            jPanelUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelUsuariosLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(PANEL_MANTENIMIENTO_USERS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(66, Short.MAX_VALUE))
        );

        tabModificar.addTab("Usuarios", jPanelUsuarios);

        TABLALOGUEOS.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Usuario", "Fecha de Logueo", "Hora de logueo"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        TABLALOGUEOS.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                TABLALOGUEOSMouseClicked(evt);
            }
        });
        jScrollPane9.setViewportView(TABLALOGUEOS);

        javax.swing.GroupLayout jPanelLogueosLayout = new javax.swing.GroupLayout(jPanelLogueos);
        jPanelLogueos.setLayout(jPanelLogueosLayout);
        jPanelLogueosLayout.setHorizontalGroup(
            jPanelLogueosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelLogueosLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 605, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanelLogueosLayout.setVerticalGroup(
            jPanelLogueosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelLogueosLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE)
                .addContainerGap())
        );

        tabModificar.addTab("Logueos", jPanelLogueos);

        botonCambioUsuario.setText("Entrar como otro Usuario:");
        botonCambioUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonCambioUsuarioActionPerformed(evt);
            }
        });

        jButton3.setText("Cerrar Sesion");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(221, 221, 221)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(botonCambioUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 179, Short.MAX_VALUE)
                    .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(225, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(101, 101, 101)
                .addComponent(botonCambioUsuario)
                .addGap(18, 18, 18)
                .addComponent(jButton3)
                .addContainerGap(281, Short.MAX_VALUE))
        );

        tabModificar.addTab("Cambiar Usuario", jPanel1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(tabModificar, javax.swing.GroupLayout.PREFERRED_SIZE, 752, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(tabModificar)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

//COMITT DE PRUEBA!
    private void btnEliminarDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarDireccionActionPerformed
        if (actualizaCodigosDirecciones(Integer.parseInt(txtIdDireccion.getText())) == true) {
            if (unaDireccion.eliminar(Integer.parseInt(txtIdDireccion.getText())) == true) {
                JOptionPane.showMessageDialog(null, "Datos Eliminados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);

                actualizaDirecciones();

                txtIdDireccion.setText("");
                txtCalle.setText("");
                txtNumero.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(null, "Error, no se puede eliminar la direccion...", "", JOptionPane.ERROR_MESSAGE);


        }
        btnModificaDireccion.setEnabled(false);
        btnEliminarDireccion.setEnabled(false);
    }//GEN-LAST:event_btnEliminarDireccionActionPerformed

    private void btnModificaDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaDireccionActionPerformed
        if (actualizaCodigosDirecciones(Integer.parseInt(txtIdDireccion.getText())) == true) {
            unaDireccion.setId_dir(Integer.parseInt(txtIdDireccion.getText()));
            unaDireccion.setCalle(txtCalle.getText());
            unaDireccion.setNumero(txtNumero.getText());

            boolean modifica = unaDireccion.modificar();
            if (modifica == true) {
                JOptionPane.showMessageDialog(null, "Datos Editados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);
                actualizaDirecciones();
            } else {
                JOptionPane.showMessageDialog(null, "Error al Modificar", "", JOptionPane.ERROR_MESSAGE);

            }

        } else {
            JOptionPane.showMessageDialog(null, "No existe la direccion a modificar", "", JOptionPane.ERROR_MESSAGE);

        }
        btnModificaDireccion.setEnabled(false);
        btnEliminarDireccion.setEnabled(false);
    }//GEN-LAST:event_btnModificaDireccionActionPerformed

    private void btnBuscarDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarDireccionActionPerformed
        if (txtIdDireccion.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Error es importante que llene el campo ID para buscar", "", JOptionPane.ERROR_MESSAGE);
        } else {
            unaDireccion.setId_dir(Integer.parseInt(txtIdDireccion.getText()));
            boolean buscar = unaDireccion.buscar();
            if (buscar == false) {
                JOptionPane.showMessageDialog(null, "No existe una direccion con esa id...", "", JOptionPane.ERROR_MESSAGE);
                txtIdDireccion.setText("");
                txtCalle.setText("");
                txtNumero.setText("");
                btnModificaDireccion.setEnabled(false);
                btnEliminarDireccion.setEnabled(false);
            } else {

                btnActivar.setSelected(false);
                btnModificaDireccion.setEnabled(true);
                btnEliminarDireccion.setEnabled(true);
                btnBuscarDireccion.setEnabled(false);
                txtIdDireccion.setText(unaCiudad.getCiudad());
                txtIdDireccion.setText(Integer.toString(unaCiudad.getId_ciudad()));
            }
            txtIdDireccion.setEnabled(false);
    }//GEN-LAST:event_btnBuscarDireccionActionPerformed
    }
    private void btnGrabaDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaDireccionActionPerformed
        if (txtCalle.getText().equals("") || txtNumero.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Debe llenar los campos de texto", "", JOptionPane.ERROR_MESSAGE);

        } else {
            unaDireccion.setCalle(txtCalle.getText());
            unaDireccion.setNumero(txtNumero.getText());

            boolean r = unaDireccion.grabar();
            if (r == true) {

                JOptionPane.showMessageDialog(null, "Datos Grabados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);

                actualizaDirecciones();
            } else if (r == false) {


                JOptionPane.showMessageDialog(null, "Error al Grabar datos", "", JOptionPane.INFORMATION_MESSAGE);

            }
        }

    }//GEN-LAST:event_btnGrabaDireccionActionPerformed

    private void tblDireccionKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tblDireccionKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_tblDireccionKeyPressed

    private void tblDireccionMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblDireccionMouseClicked
        lblMensaje2.setText("");
        txtIdDireccion.setText(tblDireccion.getValueAt(tblDireccion.getSelectedRow(), 0).toString());
        txtCalle.setText(tblDireccion.getValueAt(tblDireccion.getSelectedRow(), 1).toString());
        txtNumero.setText(tblDireccion.getValueAt(tblDireccion.getSelectedRow(), 2).toString());
        btnEliminarDireccion.setEnabled(true);
        btnModificaDireccion.setEnabled(true);
    }//GEN-LAST:event_tblDireccionMouseClicked

    private void txtCalleKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCalleKeyPressed
        Sletras(txtCalle);
    }//GEN-LAST:event_txtCalleKeyPressed

    private void txtCalleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCalleActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCalleActionPerformed

    private void txtNumeroKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNumeroKeyPressed
        SCalle(txtNumero);
    }//GEN-LAST:event_txtNumeroKeyPressed

    private void txtNumeroActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtNumeroActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtNumeroActionPerformed

    private void txtIdDireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtIdDireccionActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtIdDireccionActionPerformed

    private void btnEliminarCiudadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarCiudadActionPerformed
        if (actualizaCodigosCiudades(Integer.parseInt(txtCodigoCiudad.getText())) == true) {
            if (unaCiudad.eliminar(Integer.parseInt(txtCodigoCiudad.getText())) == true) {
                JOptionPane.showMessageDialog(rootPane, "Eliminacion Exitosa");
                actualizaCiudades();
                txtCodigoCiudad.setText("");
                txtCiudad.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "Error al Eliminar");
        }
        btnModificaCiudad.setEnabled(false);
        btnEliminarCiudad.setEnabled(false);
    }//GEN-LAST:event_btnEliminarCiudadActionPerformed

    private void btnModificaCiudadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaCiudadActionPerformed
        if (actualizaCodigosCiudades(Integer.parseInt(txtCodigoCiudad.getText())) == true) {
            unaCiudad.setId_ciudad(Integer.parseInt(txtCodigoCiudad.getText()));
            unaCiudad.setCiudad(txtCiudad.getText());
            boolean modifica = unaCiudad.modificar();
            if (modifica == true) {
                JOptionPane.showMessageDialog(rootPane, "Edicion Exitosa");
                actualizaCiudades();
            } else {
                JOptionPane.showMessageDialog(rootPane, "Error de Edicion");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "No existe la Ciudad a Modificar");
        }
        btnModificaCiudad.setEnabled(false);
        btnEliminarCiudad.setEnabled(false);
    }//GEN-LAST:event_btnModificaCiudadActionPerformed

    private void tblCiudadMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblCiudadMouseClicked
        txtCodigoCiudad.setText(tblCiudad.getValueAt(tblCiudad.getSelectedRow(), 0).toString());
        txtCiudad.setText(tblCiudad.getValueAt(tblCiudad.getSelectedRow(), 1).toString());
        btnEliminarCiudad.setEnabled(true);
        btnModificaCiudad.setEnabled(true);
    }//GEN-LAST:event_tblCiudadMouseClicked

    private void btnGrabaCiudadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaCiudadActionPerformed
        if (txtCiudad.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Debe Ingresar el nombre de la Ciudad a registrar");
        } else {
            unaCiudad.setCiudad(txtCiudad.getText());
            //JOptionPane.showMessageDialog(null, unaCiudad.getId_ciudad());
            boolean r = unaCiudad.grabar();
            if (r == true) {
                JOptionPane.showMessageDialog(rootPane, "Registro Exitoso");
                actualizaCiudades();
                //JOptionPane.showMessageDialog(null, unaCiudad.getId_ciudad());
            } else if (r == false) {
                JOptionPane.showMessageDialog(rootPane, "Error al Guardar");
            }
        }
    }//GEN-LAST:event_btnGrabaCiudadActionPerformed

    private void txtCiudadKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCiudadKeyPressed
        Sletras(txtCiudad);
    }//GEN-LAST:event_txtCiudadKeyPressed

    private void txtnumFacturaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtnumFacturaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtnumFacturaActionPerformed

    private void txtFechaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtFechaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtFechaActionPerformed

    private void txtFechaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtFechaKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtFechaKeyPressed

    private void txtIdClienteFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtIdClienteFActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtIdClienteFActionPerformed

    private void txtIdClienteFKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtIdClienteFKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtIdClienteFKeyPressed

    private void btnGrabaClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaClientesActionPerformed
        if (txtFecha.getText().equals("") || txtIdClienteF.getText().equals("") || txtGerenteF.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Debe llenar los campos de texto", "", JOptionPane.ERROR_MESSAGE);

        } else {
            SimpleDateFormat formateo_fecha = new SimpleDateFormat("yyyy/MM/dd");
            try {
                unaFactura.setFecha(formateo_fecha.parse(txtFecha.getText()));
            } catch (ParseException ex) {
                Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null, "ingrese correctamente la fecha yyyy/MM/dd", "", JOptionPane.ERROR_MESSAGE);
            }
            unCliente.setCedula(txtIdClienteF.getText());
            boolean buscar = unCliente.buscar();
            unUsuario.setCedula(txtGerenteF.getText());
            boolean buscar2 = unUsuario.buscarCajero();
            if (buscar && buscar2) {
                unaFactura.setId_cliente(txtIdClienteF.getText());
                unaFactura.setId_gerente(txtGerenteF.getText());


                boolean r = unaFactura.grabar();
                if (r == true) {
                    JOptionPane.showMessageDialog(null, "Datos Grabados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);
                    actualizaFacturas();
                } else if (r == false) {
                    JOptionPane.showMessageDialog(null, "Error al Grabar datos", "", JOptionPane.INFORMATION_MESSAGE);
                }
            } else {
                JOptionPane.showMessageDialog(null, "Datos incorrectos");
                txtIdClienteF.setText("");
                txtGerenteF.setText("");
            }
        }
    }//GEN-LAST:event_btnGrabaClientesActionPerformed

    private void btnBuscarClientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnBuscarClientesMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_btnBuscarClientesMouseClicked

    private void btnBuscarClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarClientesActionPerformed
        if (txtnumFactura.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Error es importante que llene el campo ID para buscar", "", JOptionPane.ERROR_MESSAGE);
        } else {
            unaFactura.setId_fact(Integer.parseInt(txtnumFactura.getText()));
            boolean buscar = unaFactura.buscar();
            if (buscar == false) {
                JOptionPane.showMessageDialog(null, "No existe una direccion con esa id...", "", JOptionPane.ERROR_MESSAGE);
                txtnumFactura.setText("");
                txtIdClienteF.setText("");
                txtFecha.setText("");
                btnModificaClientes.setEnabled(false);
                btnEliminarClientes.setEnabled(false);
            } else {
                bntActivarF.setSelected(false);
                btnModificaClientes.setEnabled(true);
                btnEliminarClientes.setEnabled(true);
                btnBuscarClientes.setEnabled(false);
                txtnumFactura.setText(Integer.toString(unaFactura.getId_fact()));
                txtIdClienteF.setText(unaFactura.getId_cliente());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                txtFecha.setText(sdf.format(unaFactura.getFecha()));
            }
            txtnumFactura.setEnabled(false);
        }
    }//GEN-LAST:event_btnBuscarClientesActionPerformed

    private void btnModificaClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaClientesActionPerformed
        if (actualizaCodigosFacturas(Integer.parseInt(txtnumFactura.getText())) == true) {
            unaFactura.setId_fact(Integer.parseInt(txtnumFactura.getText()));
            SimpleDateFormat formateo_fecha = new SimpleDateFormat("yyyy/MM/dd");
            try {
                unaFactura.setFecha(formateo_fecha.parse(txtFecha.getText()));
            } catch (ParseException ex) {
                Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null, "ingrese correctamente la fecha yyyy/MM/dd", "", JOptionPane.ERROR_MESSAGE);
            }
            unCliente.setCedula(txtIdClienteF.getText());
            boolean buscar = unCliente.buscar();
            if (buscar == true) {
                unaFactura.setId_cliente(txtIdClienteF.getText());

                boolean modifica = unaFactura.modificar();
                if (modifica == true) {
                    JOptionPane.showMessageDialog(null, "Datos Editados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);
                    actualizaFacturas();
                } else {
                    JOptionPane.showMessageDialog(null, "Error al Modificar", "", JOptionPane.ERROR_MESSAGE);

                }
            } else {
                JOptionPane.showMessageDialog(null, "No existe la direccion a modificar", "", JOptionPane.ERROR_MESSAGE);

            }
        } else {
            txtIdClienteF.setText("");
        }
        btnModificaClientes.setEnabled(false);
        btnEliminarClientes.setEnabled(false);// TODO add your handling code here:
        // TODO add your handling code here:
    }//GEN-LAST:event_btnModificaClientesActionPerformed
    private boolean actualizaCodigosFacturas(int codi) {
        listaFacturas.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaFacturas.getCodigos();
        for (int i = 0; i < codigos.size(); i++) {

            if (codigos.get(i) == (codi)) {
                return true;
            }
        }
        return false;
    }
    private void btnEliminarClientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarClientesActionPerformed

        if (actualizaCodigosFacturas(Integer.parseInt(txtnumFactura.getText())) == true) {
            if (unaFactura.eliminar(Integer.parseInt(txtnumFactura.getText())) == true) {
                JOptionPane.showMessageDialog(null, "Datos Eliminados Satisfactoriamente...", "", JOptionPane.INFORMATION_MESSAGE);

                actualizaFacturas();

                txtnumFactura.setText("");
                txtFecha.setText("");
                txtIdClienteF.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(null, "Error, no se puede eliminar la direccion...", "", JOptionPane.ERROR_MESSAGE);


        }
        btnModificaClientes.setEnabled(false);
        btnEliminarClientes.setEnabled(false);
        // TODO add your handling code here:
    }//GEN-LAST:event_btnEliminarClientesActionPerformed

    private void tblFacturasMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblFacturasMouseClicked
        txtnumFactura.setText(tblFacturas.getValueAt(tblFacturas.getSelectedRow(), 0).toString());
        txtFecha.setText(tblFacturas.getValueAt(tblFacturas.getSelectedRow(), 1).toString());
        txtIdClienteF.setText(tblFacturas.getValueAt(tblFacturas.getSelectedRow(), 2).toString());
        txtGerenteF.setText(tblFacturas.getValueAt(tblFacturas.getSelectedRow(), 4).toString());

        unaFactura.setId_fact(Integer.parseInt(tblFacturas.getValueAt(tblFacturas.getSelectedRow(), 0).toString()));


    }//GEN-LAST:event_tblFacturasMouseClicked

    private void txtCodigoCiudadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCodigoCiudadActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCodigoCiudadActionPerformed

    private void opcBusquedaCMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_opcBusquedaCMouseClicked
        if (opcBusquedaC.isSelected()) {
            btnBuscarCiudad.setEnabled(true);
            txtCodigoCiudad.setEnabled(true);
        }
        if (!opcBusquedaC.isSelected()) {
            btnBuscarCiudad.setEnabled(false);
            txtCodigoCiudad.setEnabled(false);
            btnModificaCiudad.setEnabled(false);
            btnEliminarCiudad.setEnabled(false);
            txtCodigoCiudad.setText("");
            txtCiudad.setText("");
        }
    }//GEN-LAST:event_opcBusquedaCMouseClicked

    private void txtCodigoCiudadKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCodigoCiudadKeyTyped
        SNumeros(txtCodigoCiudad);
    }//GEN-LAST:event_txtCodigoCiudadKeyTyped

    private void btnBuscarCiudadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarCiudadActionPerformed
        if (txtCodigoCiudad.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Ingrese el Id a Buscar");
        } else {
            unaCiudad.setId_ciudad(Integer.parseInt(txtCodigoCiudad.getText()));
            boolean busco = unaCiudad.buscar();
            if (busco == false) {
                JOptionPane.showMessageDialog(rootPane, "Ciudad no Encontrada");
                txtCodigoCiudad.setText("");
                txtCiudad.setText("");
                btnModificaCiudad.setEnabled(false);
                btnEliminarCiudad.setEnabled(false);
            } else {
                btnModificaCiudad.setEnabled(true);
                btnEliminarCiudad.setEnabled(true);
                txtCiudad.setText(unaCiudad.getCiudad());
                txtCodigoCiudad.setText(Integer.toString(unaCiudad.getId_ciudad()));
            }
            txtCodigoCiudad.setEnabled(false);
        }
    }//GEN-LAST:event_btnBuscarCiudadActionPerformed

    private void combodireccionesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_combodireccionesMouseClicked

        StringTokenizer tokens = new StringTokenizer((String) combodirecciones.getSelectedItem(), ",");
        try {
            txtDirecCliente.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }
    }//GEN-LAST:event_combodireccionesMouseClicked

    private void btnEliminarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarClienteActionPerformed
        if (actualizaCodigosClientes(txtCedula.getText()) == true) {
            if (unCliente.eliminar(txtCedula.getText()) == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Eliminados Satisfactoriamente");
                actualizaClientes();
                txtCedula.setText("");
                txtNombre.setText("");
                txtApellido.setText("");
                txtTelefono.setText("");
                txtCiudadCliente.setText("");
                txtDirecCliente.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "Error al Eliminar Cliente");
        }
        btnModificaCliente.setEnabled(false);
        btnEliminarCliente.setEnabled(false);
    }//GEN-LAST:event_btnEliminarClienteActionPerformed

    private void btnModificaClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaClienteActionPerformed
        // TODO add your handling code here:
        if (actualizaCodigosClientes(txtCedula.getText()) == true) {
            unCliente.setCedula(txtCedula.getText());
            unCliente.setNombre(txtNombre.getText());
            unCliente.setApellido(txtApellido.getText());
            unCliente.setTelefono(txtTelefono.getText());
            unCliente.setId_ciudad(Integer.parseInt(txtCiudadCliente.getText()));
            unCliente.setId_dir(Integer.parseInt(txtDirecCliente.getText()));
            boolean modifica = unCliente.modificar();
            if (modifica == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Editados Satisfactoriamente");
                actualizaClientes();
            } else {
                JOptionPane.showMessageDialog(rootPane, "Error al Modificar");
            }

        } else {
            JOptionPane.showMessageDialog(rootPane, "No existe el Cliente a Modificar");
        }
        btnModificaCliente.setEnabled(false);
        btnEliminarCliente.setEnabled(false);
    }//GEN-LAST:event_btnModificaClienteActionPerformed

    private void btnGrabaClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaClienteActionPerformed
        if (txtCedula.getText().equals("") || txtNombre.getText().equals("") || txtApellido.getText().equals("") || txtTelefono.getText().equals("") || txtDirecCliente.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Complete todos los Campos!");
        } else {
            unCliente.setCedula(txtCedula.getText());
            unCliente.setNombre(txtNombre.getText());
            unCliente.setApellido(txtApellido.getText());
            unCliente.setTelefono(txtTelefono.getText());
            unCliente.setId_dir(Integer.parseInt(txtDirecCliente.getText()));
            unCliente.setId_ciudad(Integer.parseInt(txtCiudadCliente.getText()));

            boolean r = unCliente.grabar();
            if (r == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Grabados Satisfactoriamente");
                actualizaClientes();
            } else if (r == false) {
                JOptionPane.showMessageDialog(rootPane, "Error al Grabar los Datos");
            }
        }
        //  lblMensaje3.setVisible(true);
    }//GEN-LAST:event_btnGrabaClienteActionPerformed

    private void tblClienteMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblClienteMouseClicked
        txtCedula.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 0).toString());
        txtNombre.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 1).toString());
        txtApellido.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 2).toString());
        txtTelefono.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 3).toString());
        txtDirecCliente.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 4).toString());
        txtCiudadCliente.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(), 6).toString());
        btnModificaCliente.setEnabled(true);
        btnEliminarCliente.setEnabled(true);
    }//GEN-LAST:event_tblClienteMouseClicked

    private void txtTelefonoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtTelefonoKeyPressed
        SNumeros(txtTelefono);
    }//GEN-LAST:event_txtTelefonoKeyPressed

    private void txtApellidoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtApellidoKeyPressed
        Sletras(txtApellido);
    }//GEN-LAST:event_txtApellidoKeyPressed

    private void txtNombreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyPressed
        Sletras(txtNombre);
    }//GEN-LAST:event_txtNombreKeyPressed

    private void txtCedulaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCedulaKeyPressed
        SNumeros(txtCedula);
    }//GEN-LAST:event_txtCedulaKeyPressed

    private void btnBuscarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarClienteActionPerformed
        if (txtCedula.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Ingrese la Cedula a Buscar");
        } else {
            unCliente.setCedula(txtCedula.getText());
            boolean busco = unCliente.buscar();
            if (busco == false) {
                JOptionPane.showMessageDialog(rootPane, "Cliente no Encontrada");
                txtCedula.setText("");
                btnModificaCliente.setEnabled(false);
                btnEliminarCliente.setEnabled(false);
            } else {
                btnModificaCliente.setEnabled(true);
                btnEliminarCliente.setEnabled(true);
                txtCedula.setText(unCliente.getCedula());
                txtNombre.setText(unCliente.getNombre());
                txtApellido.setText(unCliente.getApellido());
                txtTelefono.setText(unCliente.getTelefono());

                txtDirecCliente.setText(Integer.toString(unCliente.getId_dir()));
                txtCodigoCiudad.setText(Integer.toString(unaCiudad.getId_ciudad()));
            }
        }
    }//GEN-LAST:event_btnBuscarClienteActionPerformed

    private void btnActivarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnActivarActionPerformed
        // TODO add your handling code here:
        if (btnActivar.isSelected() == true) {
            btnBuscarDireccion.setEnabled(true);
            txtIdDireccion.setEnabled(true);
        } else {
            btnBuscarDireccion.setEnabled(false);
            txtIdDireccion.setEnabled(false);
        }
    }//GEN-LAST:event_btnActivarActionPerformed

    private void bntActivarFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bntActivarFActionPerformed
        if (bntActivarF.isSelected() == true) {
            btnBuscarClientes.setEnabled(true);
            txtnumFactura.setEnabled(true);
        } else {
            btnBuscarClientes.setEnabled(false);
            txtnumFactura.setEnabled(false);
        }        // TODO add your handling code here:
    }//GEN-LAST:event_bntActivarFActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:

        JFrame v1 = new JFrame();
        v1.setSize(600, 600);
        PanelVentas pv = new PanelVentas(unaFactura.getId_fact());

        v1.add(pv);
        v1.setVisible(true);

    }//GEN-LAST:event_jButton1ActionPerformed

    private void txtCedUsuarioKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCedUsuarioKeyPressed
        SNumeros(txtCedUsuario);        // TODO add your handling code here:
    }//GEN-LAST:event_txtCedUsuarioKeyPressed

    private void txtNombreUsuarioKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreUsuarioKeyPressed
        Sletras(txtNombreUsuario);        // TODO add your handling code here:
    }//GEN-LAST:event_txtNombreUsuarioKeyPressed

    private void txtApellidoUsuarioKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtApellidoUsuarioKeyPressed
        Sletras(txtApellidoUsuario);     // TODO add your handling code here:
    }//GEN-LAST:event_txtApellidoUsuarioKeyPressed

    private void btnGrabaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaUsuarioActionPerformed
        int opc = 0;
        if (txtCedUsuario.getText().equals("") || txtNombreUsuario.getText().equals("") || txtApellidoUsuario.getText().equals("") || txtpasswordUsuario.getText().equals("") || txtusername.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Complete todos los Campos!");
        } else {
            unUsuario.setCedula(txtCedUsuario.getText());
            unUsuario.setNombre(txtNombreUsuario.getText());
            unUsuario.setApellido(txtApellidoUsuario.getText());
            unUsuario.setPass(txtpasswordUsuario.getText().toString());
            unUsuario.setUser(txtusername.getText());


            if (comboUsuario.getSelectedItem().equals("Gerente")) {
                opc = 1;
            } else {
                if (comboUsuario.getSelectedItem().equals("Cajero")) {
                    opc = 2;
                } else {
                    if (comboUsuario.getSelectedItem().equals("Administrador")) {
                        opc = 3;
                    }
                }
            }
            boolean r = unUsuario.grabar(opc);

            if (r == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Grabados Satisfactoriamente");
                actualizaUsuarios();
            } else if (r == false) {
                JOptionPane.showMessageDialog(rootPane, "Error al Grabar los Datos");
            }
        }        // TODO add your handling code here:


    }//GEN-LAST:event_btnGrabaUsuarioActionPerformed

    private void btnBuscarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarUsuarioActionPerformed
        if (txtCedUsuario.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Ingrese la Cedula a Buscar");
        } else {
            unUsuario.setCedula(txtCedUsuario.getText());
            boolean busco = unUsuario.buscar_logueo();
            if (busco == false) {
                JOptionPane.showMessageDialog(rootPane, "Usuario no Encontrado");
                txtCedula.setText("");
                btnModificaUsuario.setEnabled(false);
                btnEliminarUsuario.setEnabled(false);
            } else {
                btnModificaUsuario.setEnabled(true);
                btnEliminarUsuario.setEnabled(true);
                txtCedUsuario.setText(unUsuario.getCedula());
                txtNombreUsuario.setText(unUsuario.getNombre());
                txtApellidoUsuario.setText(unUsuario.getApellido());
                txtusername.setText(unUsuario.getUser());
                txtpasswordUsuario.setText(unUsuario.getPass());
                // txt.setText(Integer.toString(unaCiudad.getId_ciudad()));
            }
        }        // TODO add your handling code here:
    }//GEN-LAST:event_btnBuscarUsuarioActionPerformed

    private void btnModificaUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaUsuarioActionPerformed
        if (actualizaCodigosUsuarios(txtCedUsuario.getText()) == true) {
            unUsuario.setCedula(txtCedUsuario.getText());
            unUsuario.setNombre(txtNombreUsuario.getText());
            unUsuario.setApellido(txtApellidoUsuario.getText());
            unUsuario.setUser(txtusername.getText());
            unUsuario.setPass(txtpasswordUsuario.getText().toString());
            boolean modifica = unUsuario.modificar();
            if (modifica == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Editados Satisfactoriamente");
                actualizaClientes();
            } else {
                JOptionPane.showMessageDialog(rootPane, "Error al Modificar");
            }

        } else {
            JOptionPane.showMessageDialog(rootPane, "No existe el Usuario a Modificar");
        }
        btnModificaUsuario.setEnabled(false);
        btnEliminarUsuario.setEnabled(false);        // TODO add your handling code here:
    }//GEN-LAST:event_btnModificaUsuarioActionPerformed

    private void btnEliminarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarUsuarioActionPerformed
        if (actualizaCodigosClientes(txtCedUsuario.getText()) == true) {
            if (unUsuario.eliminar(txtCedUsuario.getText()) == true) {
                JOptionPane.showMessageDialog(rootPane, "Datos Eliminados Satisfactoriamente");
                actualizaUsuarios();
                txtCedUsuario.setText("");
                txtNombreUsuario.setText("");
                txtApellidoUsuario.setText("");
                txtpasswordUsuario.setText("");
                txtusername.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "Error al Eliminar Usuario");
        }
        btnModificaUsuario.setEnabled(false);
        btnEliminarUsuario.setEnabled(false);        // TODO add your handling code here:
    }//GEN-LAST:event_btnEliminarUsuarioActionPerformed

    private void tblUsuarioMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblUsuarioMouseClicked
        txtCedUsuario.setText(tblUsuario.getValueAt(tblUsuario.getSelectedRow(), 0).toString());
        txtNombreUsuario.setText(tblUsuario.getValueAt(tblUsuario.getSelectedRow(), 1).toString());
        txtApellidoUsuario.setText(tblUsuario.getValueAt(tblUsuario.getSelectedRow(), 2).toString());
        txtusername.setText(tblUsuario.getValueAt(tblUsuario.getSelectedRow(), 4).toString());
        //txtpasswordUsuario.setText(tblUsuario.getValueAt(tblUsuario.getSelectedRow(),4).toString());
        //txtCiudadCliente.setText(tblCliente.getValueAt(tblCliente.getSelectedRow(),6).toString());
        btnModificaUsuario.setEnabled(true);
        btnEliminarUsuario.setEnabled(true);        // TODO add your handling code here:
    }//GEN-LAST:event_tblUsuarioMouseClicked

    private void txtusernameKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtusernameKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtusernameKeyPressed

    private void txtProveedorKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtProveedorKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtProveedorKeyPressed

    private void txtCodigoProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCodigoProveedorActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCodigoProveedorActionPerformed

    private void txtCodigoProveedorKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCodigoProveedorKeyTyped
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCodigoProveedorKeyTyped

    private void btnGrabaProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaProveedorActionPerformed
        if (txtProveedor.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Complete el Campo de proveedor!");
        } else {
            unProveedor.setProveedor(txtProveedor.getText());
            boolean r = unProveedor.grabar();
            if (r == true) {
                JOptionPane.showMessageDialog(rootPane, "Registro Exitoso");
                actualizaProveedores();
            } else if (r == false) {
                JOptionPane.showMessageDialog(rootPane, "Error al Guardar");
            }
        }
    }//GEN-LAST:event_btnGrabaProveedorActionPerformed

    private void tblProveedorMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblProveedorMouseClicked
        txtCodigoProveedor.setText(tblProveedor.getValueAt(tblProveedor.getSelectedRow(), 0).toString());
        txtProveedor.setText(tblProveedor.getValueAt(tblProveedor.getSelectedRow(), 1).toString());
        btnEliminarProveedor.setEnabled(true);
        btnModificaProveedor.setEnabled(true);
        // TODO add your handling code here:
    }//GEN-LAST:event_tblProveedorMouseClicked

    private void btnBuscarProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarProveedorActionPerformed
        if (txtCodigoProveedor.getText().equals("")) {
            JOptionPane.showMessageDialog(rootPane, "Ingrese el Id a Buscar");
        } else {
            unProveedor.setId_prov(Integer.parseInt(txtCodigoProveedor.getText()));
            boolean busco = unProveedor.buscar();
            if (busco == false) {
                JOptionPane.showMessageDialog(rootPane, "Proveedor no Encontrado");
                txtCodigoProveedor.setText("");
                txtProveedor.setText("");
                btnModificaProveedor.setEnabled(false);
                btnEliminarProveedor.setEnabled(false);
            } else {
                btnModificaProveedor.setEnabled(true);
                btnEliminarProveedor.setEnabled(true);
                txtProveedor.setText(unProveedor.getProveedor());
                txtCodigoProveedor.setText(Integer.toString(unProveedor.getId_prov()));
            }
            txtCodigoProveedor.setEnabled(false);
        }
    }//GEN-LAST:event_btnBuscarProveedorActionPerformed

    private void btnModificaProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaProveedorActionPerformed
        if (actualizaCodigosProveedores(Integer.parseInt(txtCodigoProveedor.getText())) == true) {
            unProveedor.setId_prov(Integer.parseInt(txtCodigoProveedor.getText()));
            unProveedor.setProveedor(txtProveedor.getText());
            boolean modifica = unProveedor.modificar();
            if (modifica == true) {
                JOptionPane.showMessageDialog(rootPane, "Edicion Exitosa");
                actualizaProveedores();
            } else {
                JOptionPane.showMessageDialog(rootPane, "Error de Edicion");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "No existe Proveedor a Modificar");
        }
        btnModificaProveedor.setEnabled(false);
        btnEliminarProveedor.setEnabled(false);

        // TODO add your handling code here:
    }//GEN-LAST:event_btnModificaProveedorActionPerformed

    private void btnEliminarProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarProveedorActionPerformed
        if (actualizaCodigosProveedores(Integer.parseInt(txtCodigoProveedor.getText())) == true) {
            if (unProveedor.eliminar(Integer.parseInt(txtCodigoProveedor.getText())) == true) {
                JOptionPane.showMessageDialog(rootPane, "Eliminacion Exitosa");
                actualizaProveedores();
                txtCodigoProveedor.setText("");
                txtProveedor.setText("");
            }
        } else {
            JOptionPane.showMessageDialog(rootPane, "Error al Eliminar");
        }
        btnModificaProveedor.setEnabled(false);
        btnEliminarProveedor.setEnabled(false);
    }//GEN-LAST:event_btnEliminarProveedorActionPerformed

    private void opcBusquedaProveedorMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_opcBusquedaProveedorMouseClicked
        if (opcBusquedaProveedor.isSelected()) {
            btnBuscarProveedor.setEnabled(true);
            txtCodigoProveedor.setEnabled(true);
        }
        if (!opcBusquedaProveedor.isSelected()) {
            btnBuscarProveedor.setEnabled(false);
            txtCodigoProveedor.setEnabled(false);
            btnModificaProveedor.setEnabled(false);
            btnEliminarProveedor.setEnabled(false);
            txtCodigoProveedor.setText("");
            txtProveedor.setText("");
        }
    }//GEN-LAST:event_opcBusquedaProveedorMouseClicked

    private void combociudadesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_combociudadesMouseClicked
        StringTokenizer tokens = new StringTokenizer((String) combociudades.getSelectedItem(), ",");
        try {
            CIUDADDEVUELTA(tokens.nextToken());//
        } catch (NoSuchElementException e) {
        }
    }//GEN-LAST:event_combociudadesMouseClicked

    public String CIUDADDEVUELTA(String ciudad) {
        return ciudad;
    }

    private void combociudadesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_combociudadesActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_combociudadesActionPerformed

    private void TABLALOGUEOSMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_TABLALOGUEOSMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_TABLALOGUEOSMouseClicked

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        EstadisticasClientes ev = new EstadisticasClientes();
        ev.setVisible(true);
    }//GEN-LAST:event_jButton2ActionPerformed

    private void opcBusquedaProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcBusquedaProveedorActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_opcBusquedaProveedorActionPerformed

    private void opcBusquedaCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcBusquedaCActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_opcBusquedaCActionPerformed

    private void MenuFacturasXclienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuFacturasXclienteActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_MenuFacturasXclienteActionPerformed

    private void MenuFacturasXclienteMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_MenuFacturasXclienteMouseReleased
        String cedula = tblCliente.getValueAt(tblCliente.getSelectedRow(), 0).toString();
        String nombre = tblCliente.getValueAt(tblCliente.getSelectedRow(), 1).toString();
        String apellido = tblCliente.getValueAt(tblCliente.getSelectedRow(), 2).toString();
        FacturasPorCliente f = new FacturasPorCliente(cedula, nombre + " " + apellido);
        f.setVisible(true);
    }//GEN-LAST:event_MenuFacturasXclienteMouseReleased

    private void TXT_ID_CIUDAActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TXT_ID_CIUDAActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_TXT_ID_CIUDAActionPerformed

    private void TXT_ID_CIUDAKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_TXT_ID_CIUDAKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_TXT_ID_CIUDAKeyPressed

    private void btnGrabaProductosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabaProductosActionPerformed
        if (txtProducto.getText().equals("") || txtCantidad.getText().equals("") || txtPrecio.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Debe llenar los campos de texto");
        } else {
            unProducto.setProducto(txtProducto.getText());
            unProducto.setCantidad(Integer.parseInt(txtCantidad.getText()));

            unProducto.setPrecio(Double.parseDouble(txtPrecio.getText()));//seria el precio mas el 10% de lo que digite en el txtprecio
            unProducto.setId_prov(Integer.parseInt(txtProveedordeProducto.getText()));
            boolean r = unProducto.grabar();
            if (r == true) {
                JOptionPane.showMessageDialog(null, "Datos Grabados Satisfactoriamente...");
                actualizaProductos();
            } else if (r == false) {
                JOptionPane.showMessageDialog(null, "Error al Grabar datos");
            }
        }
        // lblMensaje4.setVisible(true);
        // TODO add your handling code here:
    }//GEN-LAST:event_btnGrabaProductosActionPerformed

    private void txtcodProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtcodProductoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtcodProductoActionPerformed

    private void txtProductoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtProductoKeyPressed
        // TODO add your handling code here:
        Sletras(txtProducto);
    }//GEN-LAST:event_txtProductoKeyPressed

    private void txtProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtProductoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtProductoActionPerformed

    private void txtCantidadKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCantidadKeyPressed
        // TODO add your handling code here:
        SNumeros(txtCantidad);
    }//GEN-LAST:event_txtCantidadKeyPressed

    private void txtCantidadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCantidadActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCantidadActionPerformed

    private void btnBuscarProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarProductoActionPerformed
        // TODO add your handling code here:
        if (txtProducto.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Ingrese el nombre del producto a buscar");
        } else {
            listaProductos.buscar(txtProducto.getText());
            ArrayList productos = new ArrayList();
            productos = listaProductos.getProductos();
            DefaultTableModel temp = (DefaultTableModel) tblProductos.getModel();

            for (int i = tblProductos.getRowCount() - 1; i >= 0; i--) {
                temp.removeRow(i);
            }
            for (int i = 0; i < productos.size(); i++) {
                Producto otroProducto = new Producto();
                otroProducto = (Producto) productos.get(i);
                Object nuevo[] = {otroProducto.getId_prod(), otroProducto.getProducto(), otroProducto.getCantidad(), otroProducto.getPrecio()}; //esto es por las tres columnas aunque puede variar
                temp.addRow(nuevo);
            }
            tblProductos.setModel(temp);
            if (productos.size() != 0) {
                txtcodProducto.setText(tblProductos.getValueAt(0, 0).toString());
                txtProducto.setText(tblProductos.getValueAt(0, 1).toString());
                txtCantidad.setText(tblProductos.getValueAt(0, 2).toString());
                txtPrecio.setText(tblProductos.getValueAt(0, 3).toString());
            } else {
                JOptionPane.showMessageDialog(null, "La busqueda no obtuvo ningun resultado");
            }
        }
    }//GEN-LAST:event_btnBuscarProductoActionPerformed

    private void btnBuscarProductoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnBuscarProductoMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_btnBuscarProductoMouseClicked

    private void btnModificaProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificaProductoActionPerformed

        unProducto.setId_prod(Integer.parseInt(txtcodProducto.getText()));
        unProducto.setProducto(txtProducto.getText());
        unProducto.setCantidad(Integer.parseInt(txtCantidad.getText()));
        unProducto.setPrecio(Double.parseDouble(txtPrecio.getText()));
        unProducto.setId_prov(Integer.parseInt(txtProveedordeProducto.getText()));

        boolean modifica = unProducto.modificar();
        if (modifica == true) {
            JOptionPane.showMessageDialog(null, "Datos Editados Satisfactoriamente...");
            actualizaProductos();
        } else {
            JOptionPane.showMessageDialog(null, "Error al Modificar");
        }
        //lblMensaje4.setVisible(true);

        btnModificaProducto.setEnabled(false);
        btnEliminarProducto.setEnabled(false);

        // TODO add your handling code here:
    }//GEN-LAST:event_btnModificaProductoActionPerformed

    private void txtPrecioKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtPrecioKeyPressed
        // TODO add your handling code here:
        SPrecio(txtPrecio);
    }//GEN-LAST:event_txtPrecioKeyPressed

    private void txtPrecioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtPrecioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtPrecioActionPerformed

    private void txtProveedordeProductoKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtProveedordeProductoKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtProveedordeProductoKeyPressed

    private void txtProveedordeProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtProveedordeProductoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtProveedordeProductoActionPerformed

    private void btnEliminarProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarProductoActionPerformed
        if (unProducto.eliminar(Integer.parseInt(txtcodProducto.getText())) == true) {
            JOptionPane.showMessageDialog(null, "Datos Eliminados Satisfactoriamente...");
            actualizaProductos();
            // lblMensaje4.setVisible(true);
            txtcodProducto.setText("");
            txtProducto.setText("");
            txtCantidad.setText("");
            txtPrecio.setText("");
            txtProveedordeProducto.setText("");
        }

        btnModificaProducto.setEnabled(false);
        btnEliminarProducto.setEnabled(false);
    }//GEN-LAST:event_btnEliminarProductoActionPerformed

    private void opcBusquedaProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcBusquedaProductoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_opcBusquedaProductoActionPerformed

    private void opcBusquedaProductoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_opcBusquedaProductoMouseClicked
        if (opcBusquedaProducto.isSelected() == true) {
            btnBuscarProducto.setEnabled(true);
            txtcodProducto.setEnabled(true);
        } else {
            btnBuscarProducto.setEnabled(false);
            txtcodProducto.setEnabled(false);
        }
    }//GEN-LAST:event_opcBusquedaProductoMouseClicked

    private void comboproveedoresMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_comboproveedoresMouseClicked
        StringTokenizer tokens = new StringTokenizer((String) comboproveedores.getSelectedItem(), ",");
        try {
            txtProveedordeProducto.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }

        // TODO add your handling code here:
    }//GEN-LAST:event_comboproveedoresMouseClicked

    private void btnListarProductosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnListarProductosActionPerformed

        actualizaProductos();
    }//GEN-LAST:event_btnListarProductosActionPerformed

    private void btnListarProductosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnListarProductosMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_btnListarProductosMouseClicked

    private void tblProductosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblProductosMouseClicked
        // TODO add your handling code here:
        //lblMensaje4.setText("");
        btnEliminarProducto.setEnabled(true);
        btnModificaProducto.setEnabled(true);
        txtcodProducto.setText(tblProductos.getValueAt(tblProductos.getSelectedRow(), 0).toString());
        txtProducto.setText(tblProductos.getValueAt(tblProductos.getSelectedRow(), 1).toString());
        txtCantidad.setText(tblProductos.getValueAt(tblProductos.getSelectedRow(), 2).toString());
        txtPrecio.setText(tblProductos.getValueAt(tblProductos.getSelectedRow(), 3).toString());
        txtProveedordeProducto.setText(tblProductos.getValueAt(tblProductos.getSelectedRow(), 4).toString());



    }//GEN-LAST:event_tblProductosMouseClicked

    private void botonCambioUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonCambioUsuarioActionPerformed
        Login l = new Login();
        l.setVisible(true);
        this.dispose();
        // TODO add your handling code here:
    }//GEN-LAST:event_botonCambioUsuarioActionPerformed

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        dispose();        // TODO add your handling code here:
    }//GEN-LAST:event_jButton3ActionPerformed

    private void txtTelefonoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtTelefonoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtTelefonoActionPerformed

    private void txtGerenteFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtGerenteFActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtGerenteFActionPerformed

    private void txtGerenteFKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtGerenteFKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtGerenteFKeyPressed

    private void cmbCiudadCMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmbCiudadCMouseClicked

        StringTokenizer tokens = new StringTokenizer((String) cmbCiudadC.getSelectedItem(), ",");
        try {
            txtCiudadCliente.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }
        // actualizarDirecCiudad();
    }//GEN-LAST:event_cmbCiudadCMouseClicked

    private void btnnuevadireccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnnuevadireccionActionPerformed
        JFrame v1 = new JFrame();
        v1.setSize(600, 600);
        PanelNuevasdirecciones p = new PanelNuevasdirecciones();

        v1.add(p);
        v1.setVisible(true);

        // TODO add your handling code here:
    }//GEN-LAST:event_btnnuevadireccionActionPerformed

    private void txtCedulaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCedulaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCedulaActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        actualizaClientes();
        actualizaCiudades();
        // TODO add your handling code here:
    }//GEN-LAST:event_jButton4ActionPerformed

    private void comboUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboUsuarioActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_comboUsuarioActionPerformed

    private void txtCantidadrecibeKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtCantidadrecibeKeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCantidadrecibeKeyPressed

    private void txtCantidadrecibeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCantidadrecibeActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtCantidadrecibeActionPerformed

    private void txtJ2KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtJ2KeyPressed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtJ2KeyPressed

    private void txtJ2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtJ2ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtJ2ActionPerformed

    private void cmbProductosMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmbProductosMousePressed
        StringTokenizer tokens = new StringTokenizer((String) cmbProductos.getSelectedItem(), ",");
        try {
            txtJ1.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }
    }//GEN-LAST:event_cmbProductosMousePressed

    private void cmbGerentesMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmbGerentesMousePressed
        StringTokenizer tokens = new StringTokenizer((String) cmbGerentes.getSelectedItem(), ",");
        try {
            txtJ2.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }
    }//GEN-LAST:event_cmbGerentesMousePressed

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
        Date fecha = new Date();
        String dia = Integer.toString(fecha.getDay());
        String mes = Integer.toString(fecha.getMonth());
        String fechaF = dia + "-" + mes + "-" + "2013";
        unaCompra.setId_producto(txtJ1.getText());
        unaCompra.setId_usuario(txtJ2.getText());
        unaCompra.setCantidad(txtCantidadrecibe.getText());
        unaCompra.setFecha(fechaF);
        unaCompra.grabar();
        actualizaCompras();
        unProducto.modificarCant(Integer.parseInt(txtJ1.getText()), Integer.parseInt(txtCantidadrecibe.getText()));
        txtJ1.setText("");
        txtJ2.setText("");
        txtCantidadrecibe.setText("");

    }//GEN-LAST:event_jButton5ActionPerformed

    private void cmbProductosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cmbProductosMouseClicked
        StringTokenizer tokens = new StringTokenizer((String) cmbProductos.getSelectedItem(), ",");
        try {
            txtJ1.setText(tokens.nextToken());
        } catch (NoSuchElementException e) {
        }

    }//GEN-LAST:event_cmbProductosMouseClicked

    private void actualizaProveedores() {
        listaProveedores.listar();
        comboproveedores.removeAllItems();
        comboproveedores.addItem("");
        ArrayList proveedores = new ArrayList();
        proveedores = listaProveedores.getProveedores();
        DefaultTableModel temp = (DefaultTableModel) tblProveedor.getModel();

        for (int i = tblProveedor.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < proveedores.size(); i++) {
            Proveedor otroProveedor = new Proveedor();
            otroProveedor = (Proveedor) proveedores.get(i);
            comboproveedores.addItem(otroProveedor.getId_prov() + ", " + otroProveedor.getProveedor());
            Object nuevo[] = {otroProveedor.getId_prov(), otroProveedor.getProveedor()}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblProveedor.setModel(temp);
        txtProveedor.setText("");
        txtCodigoProveedor.setText("");

    }

    public void actualizaCiudades() {
        listaCiudades.listar();
        combociudades.removeAllItems();
        cmbCiudadC.removeAllItems();
        combociudades.addItem("");
        cmbCiudadC.addItem("");
        ArrayList ciudades = new ArrayList();
        ciudades = listaCiudades.getCiudades();
        DefaultTableModel temp = (DefaultTableModel) tblCiudad.getModel();

        for (int i = tblCiudad.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < ciudades.size(); i++) {
            Ciudad otraCiudad = new Ciudad();
            otraCiudad = (Ciudad) ciudades.get(i);
            combociudades.addItem(otraCiudad.getId_ciudad() + ", " + otraCiudad.getCiudad());
            cmbCiudadC.addItem(otraCiudad.getId_ciudad() + ", " + otraCiudad.getCiudad());
            Object nuevo[] = {otraCiudad.getId_ciudad(), otraCiudad.getCiudad()}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblCiudad.setModel(temp);
        txtCiudad.setText("");
        txtCodigoCiudad.setText("");
    }

    public void actualizarDirecCiudad() {
        ArrayList direcciones = new ArrayList();
        DefaultTableModel temp = (DefaultTableModel) tblDireccion.getModel();
        direcciones = listaDirecciones.getDirecciones();
        combodirecciones.removeAllItems();
        combodirecciones.addItem("");
        for (int i = 0; i < direcciones.size(); i++) {
            Direccion otraDireccion = new Direccion();
            otraDireccion = (Direccion) direcciones.get(i);
            System.out.print(otraDireccion.getId_ciudad());
            System.out.print(txtCiudadCliente.getText());
            if (otraDireccion.getId_ciudad() == Integer.parseInt(txtCiudadCliente.getText())) {
                combodirecciones.addItem(otraDireccion.getId_dir() + ", " + otraDireccion.getCalle() + ", " + otraDireccion.getNumero());
                Object nuevo[] = {otraDireccion.getId_dir(), otraDireccion.getCalle(), otraDireccion.getNumero()};
                temp.addRow(nuevo);
            }
        }
    }

    private void actualizaDirecciones() {
        listaDirecciones.listar();
        ArrayList direcciones = new ArrayList();
        direcciones = listaDirecciones.getDirecciones();
        DefaultTableModel temp = (DefaultTableModel) tblDireccion.getModel();
        combodirecciones.removeAllItems();
        combodirecciones.addItem("");
        for (int i = tblDireccion.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < direcciones.size(); i++) {
            Direccion otraDireccion = new Direccion();
            otraDireccion = (Direccion) direcciones.get(i);
            combodirecciones.addItem(otraDireccion.getId_dir() + ", " + otraDireccion.getCalle() + ", " + otraDireccion.getNumero());
            Object nuevo[] = {otraDireccion.getId_dir(), otraDireccion.getCalle(), otraDireccion.getNumero(), otraDireccion.getId_ciudad()};
            temp.addRow(nuevo);
        }
        tblDireccion.setModel(temp);
        txtIdDireccion.setText("");
        txtCalle.setText("");
        txtNumero.setText("");
    }

    private void actualizarProductosR() {
        listaProductos.listar();
        ArrayList productos = new ArrayList();
        productos = listaProductos.getProductos();
        cmbProductos.removeAllItems();
        cmbProductos.addItem("");
        for (int i = 0; i < productos.size(); i++) {
            Producto otraDireccion = new Producto();
            otraDireccion = (Producto) productos.get(i);
            cmbProductos.addItem(otraDireccion.getId_prod() + ", " + otraDireccion.getProducto());
        }
    }

    private void actualizarGerentes() {
        listaUsuarios.listarG();
        ArrayList gerentes = new ArrayList();
        gerentes = listaUsuarios.getUsuarios();
        cmbGerentes.removeAllItems();
        cmbGerentes.addItem("");
        for (int i = 0; i < gerentes.size(); i++) {
            Usuario otroUsuario = new Usuario();
            otroUsuario = (Usuario) gerentes.get(i);
            cmbGerentes.addItem(otroUsuario.getCedula() + ", " + otroUsuario.getNombre());
        }
    }

    private void actualizaClientes() {
        listaClientes.listar();
        ArrayList clientes = new ArrayList();
        clientes = listaClientes.getClientes();
        DefaultTableModel temp = (DefaultTableModel) tblCliente.getModel();

        for (int i = tblCliente.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < clientes.size(); i++) {
            Cliente otroCliente = new Cliente();
            otroCliente = (Cliente) clientes.get(i);
            Object nuevo[] = {otroCliente.getCedula(), otroCliente.getNombre(), otroCliente.getApellido(), otroCliente.getTelefono(), otroCliente.getId_dir(), otroCliente.getNum_facturas(), otroCliente.getId_ciudad()}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblCliente.setModel(temp);

        txtCedula.setText("");
        txtNombre.setText("");
        txtApellido.setText("");
        txtTelefono.setText("");
        txtCiudadCliente.setText("");
        txtDirecCliente.setText("");
    }

    private void actualizaUsuarios() {
        listaUsuarios.listar();
        ArrayList usuarios = new ArrayList();
        usuarios = listaUsuarios.getUsuarios();
        DefaultTableModel temp = (DefaultTableModel) tblCliente.getModel();

        for (int i = tblUsuario.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < usuarios.size(); i++) {
            Usuario otroUsuario = new Usuario();
            otroUsuario = (Usuario) usuarios.get(i);
            Object nuevo[] = {otroUsuario.getCedula(), otroUsuario.getNombre(), otroUsuario.getApellido(), otroUsuario.getNum_logueos(), otroUsuario.getUser(),}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblUsuario.setModel(temp);

        txtCedUsuario.setText("");
        txtNombreUsuario.setText("");
        txtApellidoUsuario.setText("");
        txtusername.setText("");

        txtpasswordUsuario.setText("");
    }

    private void actualizaFacturas() {
        listaFacturas.listar();
        ArrayList facturas = new ArrayList();
        facturas = listaFacturas.getFacturas();
        DefaultTableModel temp = (DefaultTableModel) tblFacturas.getModel();

        for (int i = tblFacturas.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < facturas.size(); i++) {
            Factura otraFactura = new Factura();
            otraFactura = (Factura) facturas.get(i);
            Object nuevo[] = {otraFactura.getId_fact(), otraFactura.getFecha(), otraFactura.getId_cliente(), otraFactura.getTotal(), otraFactura.getId_gerente()}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblFacturas.setModel(temp);
        txtnumFactura.setText("");
        txtFecha.setText("");
        txtIdClienteF.setText("");
        txtGerenteF.setText("");
    }

    private void actualizaProductos() {
        listaProductos.listar();
        ArrayList productos = new ArrayList();
        productos = listaProductos.getProductos();
        DefaultTableModel temp = (DefaultTableModel) tblProductos.getModel();
        for (int i = tblProductos.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < productos.size(); i++) {
            Producto otroProducto = new Producto();
            otroProducto = (Producto) productos.get(i);
            String nombre_proveedor = unProveedor.buscayDevuelveProveedor(otroProducto.getId_prov());//AQUI RECUPERO NOMBRES DE PRVEEDORE CON LOS IDES DE PROVEEDORES
            Object nuevo[] = {otroProducto.getId_prod(), otroProducto.getProducto(), otroProducto.getCantidad(), otroProducto.getPrecio(), /*otroProducto.getId_prov()*/ nombre_proveedor}; //esto es por las tres columnas aunque puede variar
            temp.addRow(nuevo);
        }
        tblProductos.setModel(temp);
        txtcodProducto.setText("");
        txtProducto.setText("");
        txtCantidad.setText("");
        txtPrecio.setText("");
        txtProveedordeProducto.setText("");
    }
////////////////////////////////////////////////////////////////////////////////////

    private boolean actualizaCodigosCiudades(int codi) {
        listaCiudades.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaCiudades.getCodigos();//listaCiudades.getCiudades();    
        for (int i = 0; i < codigos.size(); i++) {
            if (codigos.get(i).equals(codi)) {
                return true;
            }
        }
        return false;
    }

    private boolean actualizaCodigosDirecciones(int codi) {
        listaDirecciones.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaDirecciones.getCodigos();//listaCiudades.getCiudades();
        for (int i = 0; i < codigos.size(); i++) {
            System.out.println(codigos.get(i));
            System.out.println(codi);
            if (codigos.get(i) == (codi)) {
                System.out.println(codigos.get(i));
                System.out.println(codi);
                return true;
            }
        }
        return false;
    }

    private boolean actualizaCodigosProductos(int codi) {
        listaProductos.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaProductos.getCodigos();//listaCiudades.getCiudades();    
        for (int i = 0; i < codigos.size(); i++) {
            if (codigos.get(i).equals(codi)) {
                return true;
            }
        }
        return false;
    }

    private boolean actualizaCodigosClientes(String codi) {
        listaClientes.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaClientes.getCodigos();
        for (int i = 0; i < codigos.size(); i++) {
            if (((Cliente) codigos.get(i)).getCedula().equals(codi)) {
                return true;
            }
        }
        return false;
    }

    private boolean actualizaCodigosUsuarios(String codi) {
        listaUsuarios.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaUsuarios.getCodigos();
        for (int i = 0; i < codigos.size(); i++) {
            if (((Usuario) codigos.get(i)).getCedula().equals(codi)) {
                return true;
            }
        }
        return false;
    }

    public void Sletras(JTextField a) {
        a.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                char c = e.getKeyChar();
                if (Character.isDigit(c)) {
                    getToolkit().beep();
                    e.consume();
                }
            }
        });
    }

    public void SNumeros(JTextField a) {
        a.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                char c = e.getKeyChar();
                if (!Character.isDigit(c)) {
                    getToolkit().beep();
                    e.consume();
                }
            }
        });
    }

    public void SCalle(JTextField a) {
        a.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                char c = e.getKeyChar();

                if (!Character.isDigit(c) && (c != '-')) {
                    getToolkit().beep();
                    e.consume();
                }
            }
        });
    }

    public void SPrecio(JTextField a) {
        a.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                char c = e.getKeyChar();
                if (!Character.isDigit(c) && c != '.') {
                    getToolkit().beep();
                    e.consume();
                }
            }
        });
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;


                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Menu.class
                    .getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Menu.class
                    .getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Menu.class
                    .getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Menu.class
                    .getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Menu().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem MenuFacturasXcliente;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_CIUDADES;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_CLIENTES;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_DIRECCIONES;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_FACTURAS;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_PRODUCTOS;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_PROVEEDOR;
    private javax.swing.JPanel PANEL_MANTENIMIENTO_USERS;
    private javax.swing.JPopupMenu PopupMenu;
    private javax.swing.JTable TABLALOGUEOS;
    private javax.swing.JTextField TXT_ID_CIUDA;
    private javax.swing.JRadioButton bntActivarF;
    private javax.swing.JButton botonCambioUsuario;
    private javax.swing.JRadioButton btnActivar;
    private javax.swing.JButton btnBuscarCiudad;
    private javax.swing.JButton btnBuscarCliente;
    private javax.swing.JButton btnBuscarClientes;
    private javax.swing.JButton btnBuscarDireccion;
    private javax.swing.JButton btnBuscarProducto;
    private javax.swing.JButton btnBuscarProveedor;
    private javax.swing.JButton btnBuscarUsuario;
    private javax.swing.JButton btnEliminarCiudad;
    private javax.swing.JButton btnEliminarCliente;
    private javax.swing.JButton btnEliminarClientes;
    private javax.swing.JButton btnEliminarDireccion;
    private javax.swing.JButton btnEliminarProducto;
    private javax.swing.JButton btnEliminarProveedor;
    private javax.swing.JButton btnEliminarUsuario;
    private javax.swing.JButton btnGrabaCiudad;
    private javax.swing.JButton btnGrabaCliente;
    private javax.swing.JButton btnGrabaClientes;
    private javax.swing.JButton btnGrabaDireccion;
    private javax.swing.JButton btnGrabaProductos;
    private javax.swing.JButton btnGrabaProveedor;
    private javax.swing.JButton btnGrabaUsuario;
    private javax.swing.JButton btnListarProductos;
    private javax.swing.JButton btnModificaCiudad;
    private javax.swing.JButton btnModificaCliente;
    private javax.swing.JButton btnModificaClientes;
    private javax.swing.JButton btnModificaDireccion;
    private javax.swing.JButton btnModificaProducto;
    private javax.swing.JButton btnModificaProveedor;
    private javax.swing.JButton btnModificaUsuario;
    private javax.swing.JButton btnnuevadireccion;
    private javax.swing.JComboBox cmbCiudadC;
    private javax.swing.JComboBox cmbGerentes;
    private javax.swing.JComboBox cmbProductos;
    private javax.swing.JComboBox comboUsuario;
    private javax.swing.JComboBox combociudades;
    private javax.swing.JComboBox combodirecciones;
    private javax.swing.JComboBox comboproveedores;
    private javax.swing.JTable compraS;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel27;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel29;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel30;
    private javax.swing.JLabel jLabel31;
    private javax.swing.JLabel jLabel32;
    private javax.swing.JLabel jLabel33;
    private javax.swing.JLabel jLabel34;
    private javax.swing.JLabel jLabel35;
    private javax.swing.JLabel jLabel36;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanelFacturas;
    private javax.swing.JPanel jPanelLogueos;
    private javax.swing.JPanel jPanelProveedor;
    private javax.swing.JPanel jPanelRecibe;
    private javax.swing.JPanel jPanelUsuarios;
    private javax.swing.JPanel jPanelciudad;
    private javax.swing.JPanel jPanelcli;
    private javax.swing.JPanel jPaneldirecccion;
    private javax.swing.JPanel jPanelprod;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JLabel lblMensaje2;
    private javax.swing.JRadioButton opcBusquedaC;
    private javax.swing.JRadioButton opcBusquedaProducto;
    private javax.swing.JRadioButton opcBusquedaProveedor;
    private javax.swing.JTabbedPane tabModificar;
    private javax.swing.JTable tblCiudad;
    private javax.swing.JTable tblCliente;
    private javax.swing.JTable tblDireccion;
    private javax.swing.JTable tblFacturas;
    private javax.swing.JTable tblProductos;
    private javax.swing.JTable tblProveedor;
    private javax.swing.JTable tblUsuario;
    private javax.swing.JTextField txtApellido;
    private javax.swing.JTextField txtApellidoUsuario;
    private javax.swing.JTextField txtCalle;
    private javax.swing.JTextField txtCantidad;
    private javax.swing.JTextField txtCantidadrecibe;
    private javax.swing.JTextField txtCedUsuario;
    private javax.swing.JTextField txtCedula;
    private javax.swing.JTextField txtCiudad;
    private javax.swing.JTextField txtCiudadCliente;
    private javax.swing.JTextField txtCodigoCiudad;
    private javax.swing.JTextField txtCodigoProveedor;
    private javax.swing.JTextField txtDirecCliente;
    private javax.swing.JTextField txtFecha;
    private javax.swing.JTextField txtGerenteF;
    private javax.swing.JTextField txtIdClienteF;
    private javax.swing.JTextField txtIdDireccion;
    private javax.swing.JTextField txtJ1;
    private javax.swing.JTextField txtJ2;
    private javax.swing.JTextField txtNombre;
    private javax.swing.JTextField txtNombreUsuario;
    private javax.swing.JTextField txtNumero;
    private javax.swing.JTextField txtPrecio;
    private javax.swing.JTextField txtProducto;
    private javax.swing.JTextField txtProveedor;
    private javax.swing.JTextField txtProveedordeProducto;
    private javax.swing.JTextField txtTelefono;
    private javax.swing.JTextField txtcodProducto;
    private javax.swing.JTextField txtnumFactura;
    private javax.swing.JPasswordField txtpasswordUsuario;
    private javax.swing.JTextField txtusername;
    // End of variables declaration//GEN-END:variables

    private boolean actualizaCodigosProveedores(int codi) {
        listaProveedores.listarCodigos();
        ArrayList codigos = new ArrayList();
        codigos = listaProveedores.getCodigos();//listaCiudades.getCiudades();    
        for (int i = 0; i < codigos.size(); i++) {
            if (codigos.get(i).equals(codi)) {
                return true;
            }
        }
        return false;
    }

    private void actualizaCompras() {
        listaCompras.listar();
        ArrayList compras = new ArrayList();
        compras = listaCompras.getCompras();
        DefaultTableModel temp = (DefaultTableModel) compraS.getModel();
        for (int i = compraS.getRowCount() - 1; i >= 0; i--) {
            temp.removeRow(i);
        }
        for (int i = 0; i < compras.size(); i++) {
            Compra otraCompra = new Compra();
            otraCompra = (Compra) compras.get(i);
            Object nuevo[] = {otraCompra.getId_producto(), otraCompra.getId_usuario(), otraCompra.getCantidad(), otraCompra.getFecha()};
            temp.addRow(nuevo);
        }
        compraS.setModel(temp);
    }
}
